Index: src/bp-core/classes/class-bp-user-query.php
===================================================================
--- src/bp-core/classes/class-bp-user-query.php	(revision 11497)
+++ src/bp-core/classes/class-bp-user-query.php	(working copy)
@@ -412,14 +412,18 @@
 				$search_terms_nospace = '%' . $search_terms . '%';
 				$search_terms_space   = '%' . $search_terms . '%';
 			}
-
-			$sql['where']['search'] = $wpdb->prepare(
-				"u.{$this->uid_name} IN ( SELECT ID FROM {$wpdb->users} WHERE ( user_login LIKE %s OR user_login LIKE %s OR user_nicename LIKE %s OR user_nicename LIKE %s ) )",
+			
+			$matched_user_ids = $wpdb->get_col($wpdb->prepare(
+				"SELECT ID FROM {$wpdb->users} WHERE ( user_login LIKE %s OR user_login LIKE %s OR user_nicename LIKE %s OR user_nicename LIKE %s )",
 				$search_terms_nospace,
 				$search_terms_space,
 				$search_terms_nospace,
 				$search_terms_space
-			);
+			));
+
+			$match_in_clause = empty($matched_user_ids) ? 'NULL' : implode(',', $matched_user_ids);
+
+			$sql['where']['search'] = "u.{$this->uid_name} IN ({$match_in_clause})";
 		}
 
 		// Only use $member_type__in if $member_type is not set.
Index: src/bp-xprofile/bp-xprofile-functions.php
===================================================================
--- src/bp-xprofile/bp-xprofile-functions.php	(revision 11497)
+++ src/bp-xprofile/bp-xprofile-functions.php	(working copy)
@@ -781,15 +781,17 @@
 
 	// Combine the core search (against wp_users) into a single OR clause
 	// with the xprofile_data search.
-	$search_xprofile = $wpdb->prepare(
-		"u.{$query->uid_name} IN ( SELECT user_id FROM {$bp->profile->table_name_data} WHERE value LIKE %s OR value LIKE %s )",
+	$matched_user_ids = $wpdb->get_col($wpdb->prepare(
+		"SELECT user_id FROM {$bp->profile->table_name_data} WHERE value LIKE %s OR value LIKE %s",
 		$search_terms_nospace,
 		$search_terms_space
-	);
+	));
 
-	$search_core     = $sql['where']['search'];
-	$search_combined = "( {$search_xprofile} OR {$search_core} )";
-	$sql['where']['search'] = $search_combined;
+	if (!empty($matched_user_ids)) {
+		$search_core     = $sql['where']['search'];
+		$search_combined = " ( u.{$query->uid_name} IN (" . implode(',', $matched_user_ids) . ") OR {$search_core} )";
+		$sql['where']['search'] = $search_combined;
+	}
 
 	return $sql;
 }
