Index: src/bp-activity/bp-activity-classes.php
===================================================================
--- src/bp-activity/bp-activity-classes.php
+++ src/bp-activity/bp-activity-classes.php
@@ -348,8 +348,13 @@
 		if ( ! empty( $r['scope'] ) ) {
 			$scope_query = self::get_scope_query_sql( $r['scope'], $r );
 
+			// Add our SQL conditions if matches were found
 			if ( ! empty( $scope_query['sql'] ) ) {
 				$where_conditions['scope_query_sql'] = $scope_query['sql'];
+
+			// No matches, so we should alter the SQL statement to match nothing
+			} else {
+				$where_conditions['scope_no_results'] = '0 = 1';
 			}
 
 			// override some arguments if needed
Index: tests/phpunit/testcases/activity/template.php
===================================================================
--- tests/phpunit/testcases/activity/template.php
+++ tests/phpunit/testcases/activity/template.php
@@ -342,6 +342,138 @@
 	}
 
 	/**
+	 * @group scope
+	 * @group filter_query
+	 * @group BP_Activity_Query
+	 */
+	function test_bp_has_activities_scope_friends_no_items() {
+		$u1 = $this->factory->user->create();
+
+		$now = time();
+
+		// Create a random activity
+		$a1 = $this->factory->activity->create( array(
+			'user_id' => $u1,
+			'type' => 'activity_update',
+			'recorded_time' => date( 'Y-m-d H:i:s', $now ),
+		) );
+
+		global $activities_template;
+		$reset_activities_template = $activities_template;
+
+		// grab activities from friends scope
+		bp_has_activities( array(
+			'user_id' => $u1,
+			'scope' => 'friends',
+		) );
+
+		// assert!
+		$this->assertEmpty( $activities_template->activities, 'When a user does not have any friendship, no activities should be fetched when on friends scope' );
+
+		// clean up!
+		$activities_template = $reset_activities_template;
+	}
+
+	/**
+	 * @group scope
+	 * @group filter_query
+	 * @group BP_Activity_Query
+	 */
+	function test_bp_has_activities_scope_favorites_no_items() {
+		$u1 = $this->factory->user->create();
+
+		$now = time();
+
+		// Create a random activity
+		$a1 = $this->factory->activity->create( array(
+			'user_id' => $u1,
+			'type' => 'activity_update',
+			'recorded_time' => date( 'Y-m-d H:i:s', $now ),
+		) );
+
+		global $activities_template;
+		$reset_activities_template = $activities_template;
+
+		// grab activities from favorites scope
+		bp_has_activities( array(
+			'user_id' => $u1,
+			'scope' => 'favorites',
+		) );
+
+		// assert!
+		$this->assertEmpty( $activities_template->activities, 'When a user has not favorited any activity, no activities should be fetched when on favorites scope' );
+
+		// clean up!
+		$activities_template = $reset_activities_template;
+	}
+
+	/**
+	 * @group scope
+	 * @group filter_query
+	 * @group BP_Activity_Query
+	 */
+	function test_bp_has_activities_scope_groups_no_items() {
+		$u1 = $this->factory->user->create();
+
+		$now = time();
+
+		// Create a random activity
+		$a1 = $this->factory->activity->create( array(
+			'user_id' => $u1,
+			'type' => 'activity_update',
+			'recorded_time' => date( 'Y-m-d H:i:s', $now ),
+		) );
+
+		global $activities_template;
+		$reset_activities_template = $activities_template;
+
+		// grab activities from groups scope
+		bp_has_activities( array(
+			'user_id' => $u1,
+			'scope' => 'groups',
+		) );
+
+		// assert!
+		$this->assertEmpty( $activities_template->activities, 'When a user is not a member of any group, no activities should be fetched when on groups scope' );
+
+		// clean up!
+		$activities_template = $reset_activities_template;
+	}
+
+	/**
+	 * @group scope
+	 * @group filter_query
+	 * @group BP_Activity_Query
+	 */
+	function test_bp_has_activities_scope_mentions_no_items() {
+		$u1 = $this->factory->user->create();
+
+		$now = time();
+
+		// Create a random activity
+		$a1 = $this->factory->activity->create( array(
+			'user_id' => $u1,
+			'type' => 'activity_update',
+			'recorded_time' => date( 'Y-m-d H:i:s', $now ),
+		) );
+
+		global $activities_template;
+		$reset_activities_template = $activities_template;
+
+		// grab activities from mentions scope
+		bp_has_activities( array(
+			'user_id' => $u1,
+			'scope' => 'mentions',
+		) );
+
+		// assert!
+		$this->assertEmpty( $activities_template->activities, 'When a user has no mention, no activities should be fetched when on the mentions scope' );
+
+		// clean up!
+		$activities_template = $reset_activities_template;
+	}
+
+	/**
 	 * @group filter_query
 	 * @group BP_Activity_Query
 	 */
