diff --git a/app/models/user_search.rb b/app/models/user_search.rb
index 2c0a950d7f2..5c71057b34a 100644
--- a/app/models/user_search.rb
+++ b/app/models/user_search.rb
@@ -39,8 +39,7 @@ class UserSearch
         query = Search.ts_query(@term, "simple")
         users = users.includes(:user_search_data)
                      .references(:user_search_data)
-                     .where("username_lower LIKE :term_like OR user_search_data.search_data @@ #{query}",
-                            term: @term, term_like: @term_like)
+                     .where("user_search_data.search_data @@ #{query}")
                      .order(User.sql_fragment("CASE WHEN username_lower LIKE ? THEN 0 ELSE 1 END ASC", @term_like))
       else
         users = users.where("username_lower LIKE :term_like", term_like: @term_like)
@@ -56,36 +55,35 @@ class UserSearch
     # 1. exact username matches
     if @term.present?
       scoped_users.where(username_lower: @term.downcase)
+                  .limit(@limit)
                   .pluck(:id)
-                  .each{|id| users << id}
+                  .each { |id| users << id }
 
     end
 
-    return users.to_a if users.length == @limit
+    return users.to_a if users.length >= @limit
 
     # 2. in topic
     if @topic_id
-      filtered_by_term_users.where('users.id in (SELECT p.user_id FROM posts p WHERE topic_id = ?)', @topic_id)
+      filtered_by_term_users.where('users.id IN (SELECT p.user_id FROM posts p WHERE topic_id = ?)', @topic_id)
                             .order('last_seen_at DESC')
                             .limit(@limit - users.length)
                             .pluck(:id)
-                            .each{|id| users << id}
+                            .each { |id| users << id }
     end
 
-    return users.to_a if users.length == @limit
+    return users.to_a if users.length >= @limit
 
     # 3. global matches
     filtered_by_term_users.order('last_seen_at DESC')
                             .limit(@limit - users.length)
                             .pluck(:id)
-                            .each{|id| users << id}
+                            .each { |id| users << id }
 
     users.to_a
-
   end
 
   def search
-
     ids = search_ids
     return User.where("0=1") if ids.empty?
 
@@ -93,7 +91,6 @@ class UserSearch
       FROM unnest('{#{ids.join(",")}}'::int[])
     ) x on uid = users.id")
         .order("rn")
-
   end
 
 end
diff --git a/lib/search.rb b/lib/search.rb
index 4c60c318fbf..91704cc7da4 100644
--- a/lib/search.rb
+++ b/lib/search.rb
@@ -382,11 +382,12 @@ class Search
       return if SiteSetting.hide_user_profiles_from_public && !@guardian.user
 
       users = User.includes(:user_search_data)
-                  .where("active = true AND user_search_data.search_data @@ #{ts_query("simple")}")
+                  .references(:user_search_data)
+                  .where("active = TRUE")
+                  .where("user_search_data.search_data @@ #{ts_query("simple")}")
                   .order("CASE WHEN username_lower = '#{@original_term.downcase}' THEN 0 ELSE 1 END")
                   .order("last_posted_at DESC")
                   .limit(@limit)
-                  .references(:user_search_data)
 
       users.each do |user|
         @results.add(user)