diff --git src/bp-groups/classes/class-bp-groups-group.php src/bp-groups/classes/class-bp-groups-group.php
index 0add64940..5f79e6fb9 100644
--- src/bp-groups/classes/class-bp-groups-group.php
+++ src/bp-groups/classes/class-bp-groups-group.php
@@ -560,10 +560,15 @@ class BP_Groups_Group {
 		$mod_ids = BP_Groups_Member::get_group_moderator_ids( $this->id );
 		$mod_ids_plucked = wp_list_pluck( $mod_ids, 'user_id' );
 
-		$admin_mod_users = get_users( array(
-			'include' => array_merge( $admin_ids_plucked, $mod_ids_plucked ),
-			'blog_id' => null,
-		) );
+		$admin_mod_ids = array_merge( $admin_ids_plucked, $mod_ids_plucked );
+		$admin_mod_users = array();
+
+		if ( ! empty( $admin_mod_ids ) ) {
+			$admin_mod_users = get_users( array(
+				'include' => $admin_mod_ids,
+				'blog_id' => null,
+			) );
+		}
 
 		$admin_objects = $mod_objects = array();
 		foreach ( $admin_mod_users as $admin_mod_user ) {
diff --git tests/phpunit/testcases/groups/class-bp-groups-group.php tests/phpunit/testcases/groups/class-bp-groups-group.php
index 816b856b3..40782f3f3 100644
--- tests/phpunit/testcases/groups/class-bp-groups-group.php
+++ tests/phpunit/testcases/groups/class-bp-groups-group.php
@@ -1515,6 +1515,21 @@ class BP_Tests_BP_Groups_Group_TestCases extends BP_UnitTestCase {
 		$this->assertEqualSets( array( $user_1->ID ), wp_list_pluck( $group->admins, 'user_id' ) );
 	}
 
+	/**
+	 * @ticket BP7677
+	 */
+	public function test_demoting_sole_admin() {
+		$user = self::factory()->user->create_and_get();
+		$group = self::factory()->group->create_and_get( array(
+			'creator_id' => $user->ID,
+		) );
+		$member = new BP_Groups_Member( $user->ID, $group->id );
+		$member->demote();
+
+		$this->assertEmpty( $group->admins );
+		$this->assertEmpty( $group->mods );
+	}
+
 	/**
 	 * @ticket BP5451
 	 */
