diff --git a/src/bp-core/classes/class-bp-user-query.php b/src/bp-core/classes/class-bp-user-query.php
index 34ecfbd..dee67a6 100644
--- a/src/bp-core/classes/class-bp-user-query.php
+++ b/src/bp-core/classes/class-bp-user-query.php
@@ -413,8 +413,8 @@ class BP_User_Query {
 				$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 ) )",
+			$sql['select'] .= $wpdb->prepare(
+				" JOIN {$wpdb->users} r ON r.ID = u.{$this->uid_name} AND ( r.user_login LIKE %s OR r.user_login LIKE %s OR r.user_nicename LIKE %s OR r.user_nicename LIKE %s ) )",
 				$search_terms_nospace,
 				$search_terms_space,
 				$search_terms_nospace,
diff --git a/src/bp-xprofile/bp-xprofile-functions.php b/src/bp-xprofile/bp-xprofile-functions.php
index fb1bf33..227680d 100644
--- a/src/bp-xprofile/bp-xprofile-functions.php
+++ b/src/bp-xprofile/bp-xprofile-functions.php
@@ -760,7 +760,7 @@ function xprofile_avatar_upload_dir( $directory = 'avatars', $user_id = 0 ) {
 function bp_xprofile_bp_user_query_search( $sql, BP_User_Query $query ) {
 	global $wpdb;
 
-	if ( empty( $query->query_vars['search_terms'] ) || empty( $sql['where']['search'] ) ) {
+	if ( empty( $query->query_vars['search_terms'] ) ) {
 		return $sql;
 	}
 
@@ -781,16 +781,12 @@ function bp_xprofile_bp_user_query_search( $sql, BP_User_Query $query ) {
 
 	// 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 )",
+	$sql['select'] .= $wpdb->prepare(
+		" JOIN {$bp->profile->table_name_data} p ON p.user_id = u.{$query->uid_name} AND ( p.value LIKE %s OR p.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;
-
 	return $sql;
 }
 add_action( 'bp_user_query_uid_clauses', 'bp_xprofile_bp_user_query_search', 10, 2 );
