diff --git bp-members/bp-members-template.php bp-members/bp-members-template.php
index d037c71..57be187 100644
--- bp-members/bp-members-template.php
+++ bp-members/bp-members-template.php
@@ -275,8 +275,9 @@ function bp_has_members( $args = '' ) {
 	$search_terms = null;
 
 	// User filtering
-	if ( bp_displayed_user_id() )
+	if ( bp_is_user_friends() && ! bp_is_user_friend_requests() ) {
 		$user_id = bp_displayed_user_id();
+	}
 
 	// type: active ( default ) | random | newest | popular | online | alphabetical
 	$defaults = array(
diff --git tests/testcases/core/classes.php tests/testcases/core/classes.php
index 561fcbb..9d01cf2 100644
--- tests/testcases/core/classes.php
+++ tests/testcases/core/classes.php
@@ -83,18 +83,21 @@ class BP_Tests_Core_Classes extends BP_UnitTestCase {
 		$u1 = $this->create_user();
 		$u2 = $this->create_user();
 
-		$q = new BP_User_Query( array(
-			// 'user_id' parameter is passed to emulate a displayed user page
-			// @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277
-			'user_id' => $u1,
+		$this->go_to( bp_core_get_user_domain( $u1 ) );
 
-			// Get all user IDs; we want to return just these IDs
+		global $members_template;
+		bp_has_members( array(
 			'include' => array( $u1, $u2 ),
 		) );
 
-		$users = is_array( $q->results ) ? array_values( $q->results ) : array();
+		$users = is_array( $members_template->members ) ? array_values( $members_template->members ) : array();
 		$user_ids = wp_list_pluck( $users, 'ID' );
-		$this->assertEquals( $user_ids, array( $u2, $u1 ) );
+		sort( $user_ids );
+
+		$shouldbe = array( $u1, $u2 );
+		sort( $shouldbe );
+
+		$this->assertEquals( $user_ids, $shouldbe );
 	}
 
 	public function test_bp_user_query_friendship_requests() {
@@ -103,17 +106,14 @@ class BP_Tests_Core_Classes extends BP_UnitTestCase {
 
 		friends_add_friend( $u1, $u2 );
 
-		// emulate bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() )
-		$q = new BP_User_Query( array(
-			// 'user_id' parameter is passed to emulate a displayed user page
-			// @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277
-			'user_id' => $u2,
+		$this->go_to( bp_core_get_user_domain( $u2 ) . bp_get_friends_slug() . '/requests' );
 
-			// get friendship requests for $u2
+		global $members_template;
+		bp_has_members( array(
 			'include' => bp_get_friendship_requests( $u2 ),
 		) );
 
-		$requests = is_array( $q->results ) ? array_values( $q->results ) : array();
+		$requests = is_array( $members_template->members ) ? array_values( $members_template->members ) : array();
 		$request_ids = wp_list_pluck( $requests, 'ID' );
 		$this->assertEquals( $request_ids, array( $u1 ) );
 	}
