diff --git a/client/views/app/tabBar/messageSearch.coffee b/client/views/app/tabBar/messageSearch.coffee
index b054cbbd8236733d969a2aa2fdb1ccff84a4c067..59d128eec8e2d0bbcd1374316d1226a0cf06d34d 100644
--- a/client/views/app/tabBar/messageSearch.coffee
+++ b/client/views/app/tabBar/messageSearch.coffee
@@ -1,9 +1,9 @@
 Template.messageSearch.helpers
 	tSearchMessages: ->
 		return t('Search_Messages')
-	
-	searchResult: ->
-		return Template.instance().searchResult.get()
+
+	searchResultMessages: ->
+		return Template.instance().searchResult.get()?.messages
 
 Template.messageSearch.events
 	"keydown #message-search": (e) ->
@@ -11,16 +11,21 @@ Template.messageSearch.events
 			e.preventDefault()
 
 	"keyup #message-search": _.debounce (e, t) ->
-		t.searchResult.set undefined
 		value = e.target.value.trim()
-		if value is ''
+		if value is '' and t.currentSearchTerm
+			t.currentSearchTerm = ''
+			t.searchResult.set undefined
+			return
+		else if value is t.currentSearchTerm
 			return
 
 		Tracker.nonreactive ->
 			Meteor.call 'messageSearch', value, Session.get('openedRoom'), (error, result) ->
 				if result? and (result.messages?.length > 0 or result.users?.length > 0 or result.channels?.length > 0)
 					t.searchResult.set result
-	, 1000
+					t.currentSearchTerm = value
+	, 500
 
 Template.messageSearch.onCreated ->
+	this.currentSearchTerm = ''
 	this.searchResult = new ReactiveVar
diff --git a/client/views/app/tabBar/messageSearch.html b/client/views/app/tabBar/messageSearch.html
index 6be33db762ae8db73c3117f19ea8f9da5926cb59..6a56385a9866c1a322e24b553eeff6216c2f0029 100644
--- a/client/views/app/tabBar/messageSearch.html
+++ b/client/views/app/tabBar/messageSearch.html
@@ -8,12 +8,10 @@
 				</div>
 			</form>
 		</div>
-		{{#if searchResult.messages}}
 		<ul>
-			{{#each searchResult.messages}}
+			{{#each searchResultMessages}}
 				{{#nrr nrrargs 'message' .}}{{/nrr}}
 			{{/each}}
 		</ul>
-		{{/if}}
 	</div>
 </template>