diff --git a/app/assets/javascripts/discourse/controllers/composer_controller.js b/app/assets/javascripts/discourse/controllers/composer_controller.js
index 6b62f5bb6..16c011167 100644
--- a/app/assets/javascripts/discourse/controllers/composer_controller.js
+++ b/app/assets/javascripts/discourse/controllers/composer_controller.js
@@ -41,9 +41,9 @@ Discourse.ComposerController = Discourse.Controller.extend({
     composer = this.get('content');
 
     if( composer.get('cantSubmitPost') ) {
-      this.set('view.showTitleTip', true);
-      this.set('view.showCategoryTip', true);
-      this.set('view.showReplyTip', true);
+      this.set('view.showTitleTip', Date.now());
+      this.set('view.showCategoryTip', Date.now());
+      this.set('view.showReplyTip', Date.now());
       return;
     }
 
diff --git a/app/assets/javascripts/discourse/templates/composer.js.handlebars b/app/assets/javascripts/discourse/templates/composer.js.handlebars
index d96650b23..551803f96 100644
--- a/app/assets/javascripts/discourse/templates/composer.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/composer.js.handlebars
@@ -35,13 +35,13 @@
 
             <div class="title-input">
               {{textField value=content.title tabindex="2" id="reply-title" maxlength="255" class="span8" placeholderKey="composer.title_placeholder"}}
-              {{popupInputTip validation=view.titleValidation show=view.showTitleTip}}
+              {{popupInputTip validation=view.titleValidation shownAt=view.showTitleTip}}
             </div>
 
             {{#unless content.creatingPrivateMessage}}
               <div class="category-input">
                 {{view Discourse.ComboboxViewCategory valueAttribute="name" contentBinding="categories" valueBinding="content.categoryName" showUncategorized="true"}}
-                {{popupInputTip validation=view.categoryValidation show=view.showCategoryTip}}
+                {{popupInputTip validation=view.categoryValidation shownAt=view.showCategoryTip}}
               </div>
               {{#if content.archetype.hasOptions}}
                 <button class='btn' {{action showOptions}}>{{i18n topic.options}}</button>
@@ -61,7 +61,7 @@
           <div class='textarea-wrapper'>
             <div class='wmd-button-bar' id='wmd-button-bar'></div>
             {{view Discourse.NotifyingTextArea parentBinding="view" tabindex="3" valueBinding="content.reply" id="wmd-input" placeholderKey="composer.reply_placeholder"}}
-            {{popupInputTip validation=view.replyValidation show=view.showReplyTip}}
+            {{popupInputTip validation=view.replyValidation shownAt=view.showReplyTip}}
           </div>
           <div class='preview-wrapper'>
             <div id='wmd-preview' {{bindAttr class="hidePreview:hidden"}}></div>
diff --git a/app/assets/javascripts/discourse/views/popup_input_tip_view.js b/app/assets/javascripts/discourse/views/popup_input_tip_view.js
index 0b71b346f..5247cd640 100644
--- a/app/assets/javascripts/discourse/views/popup_input_tip_view.js
+++ b/app/assets/javascripts/discourse/views/popup_input_tip_view.js
@@ -12,7 +12,7 @@
 **/
 Discourse.PopupInputTipView = Discourse.View.extend({
   templateName: 'popup_input_tip',
-  classNameBindings: [':popup-tip', 'good', 'bad', 'show::hide'],
+  classNameBindings: [':popup-tip', 'good', 'bad', 'shownAt::hide'],
   animateAttribute: null,
   bouncePixels: 6,
   bounceDelay: 100,
@@ -26,20 +26,22 @@ Discourse.PopupInputTipView = Discourse.View.extend({
   }.property('validation'),
 
   hide: function() {
-    this.set('show', false);
+    this.set('shownAt', false);
   },
 
   bounce: function() {
-    var $elem = this.$()
-    if( !this.animateAttribute ) {
-      this.animateAttribute = $elem.css('left') === 'auto' ? 'right' : 'left';
+    if( this.get('shownAt') ) {
+      var $elem = this.$()
+      if( !this.animateAttribute ) {
+        this.animateAttribute = $elem.css('left') === 'auto' ? 'right' : 'left';
+      }
+      if( this.animateAttribute === 'left' ) {
+        this.bounceLeft($elem);
+      } else {
+        this.bounceRight($elem);
+      }
     }
-    if( this.animateAttribute === 'left' ) {
-      this.bounceLeft($elem);
-    } else {
-      this.bounceRight($elem);
-    }
-  }.observes('show'),
+  }.observes('shownAt'),
 
   bounceLeft: function($elem) {
     for( var i = 0; i < 5; i++ ) {