diff --git a/src/roster_window.py b/src/roster_window.py
index 9ac02fda0f1e2b9ad7fbe84e088a5f2c003d118c..9e457629d1cc5e92f4b73b56df68f9ca0608348c 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -1418,10 +1418,9 @@ def _adjust_group_expand_collapse_state(self, group, account):
 ##############################################################################
 
 	def _search_roster_func(self, model, column, key, titer):
-		if model[titer][C_NAME].decode('utf-8').lower().startswith(
-		gobject.markup_escape_text(key.lower())):
-			return False
-		return True
+		key = gobject.markup_escape_text(key.lower())
+		name = model[titer][C_NAME].decode('utf-8').lower()
+		return not (key in name)
 
 	def refilter_shown_roster_items(self):
 		self.filtering = True