Index: src/bp-groups/bp-groups-cache.php
===================================================================
--- src/bp-groups/bp-groups-cache.php
+++ src/bp-groups/bp-groups-cache.php
@@ -173,6 +173,20 @@
 add_action( 'groups_uninvite_user', 'groups_clear_group_user_object_cache', 10, 2 );
 add_action( 'groups_remove_member', 'groups_clear_group_user_object_cache', 10, 2 );
 
+/**
+ * Clear group administrator cache.
+ *
+ * @since BuddyPress (2.1.0)
+ *
+ * @param int $group_id The group ID.
+ */
+function groups_clear_group_administrator_cache( $group_id ) {
+	wp_cache_delete( $group_id, 'bp_group_admins' );
+}
+add_action( 'groups_promote_member', 'groups_clear_group_administrator_cache' );
+add_action( 'groups_demote_member',  'groups_clear_group_administrator_cache' );
+add_action( 'groups_delete_group',   'groups_clear_group_administrator_cache' );
+
 /* List actions to clear super cached pages on, if super cache is installed */
 add_action( 'groups_join_group',                 'bp_core_clear_cache' );
 add_action( 'groups_leave_group',                'bp_core_clear_cache' );
Index: src/bp-groups/bp-groups-classes.php
===================================================================
--- src/bp-groups/bp-groups-classes.php
+++ src/bp-groups/bp-groups-classes.php
@@ -2626,7 +2626,15 @@
 	public static function get_group_administrator_ids( $group_id ) {
 		global $bp, $wpdb;
 
-		return $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_admin = 1 AND is_banned = 0", $group_id ) );
+		$group_admins = wp_cache_get( $group_id, 'bp_group_admins' );
+
+		if ( false === $group_admins ) {
+			$group_admins = $wpdb->get_results( $wpdb->prepare( "SELECT user_id, date_modified FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_admin = 1 AND is_banned = 0", $group_id ) );
+
+			wp_cache_set( $group_id, $group_admins, 'bp_group_admins' );
+		}
+
+		return $group_admins;
 	}
 
 	/**
Index: tests/phpunit/testcases/groups/cache.php
===================================================================
--- tests/phpunit/testcases/groups/cache.php
+++ tests/phpunit/testcases/groups/cache.php
@@ -154,4 +154,26 @@
 		$this->assertNotEmpty( wp_cache_get( $g1, 'bp_groups' ) );
 		$this->assertNotEmpty( wp_cache_get( $g2, 'bp_groups' ) );
 	}
+
+	/**
+	 * @group groups_get_group_admins
+	 */
+	public function test_groups_get_group_admins_cache() {
+		$u1 = $this->create_user();
+		$u2 = $this->create_user();
+		$g = $this->factory->group->create( array( 'creator_id' => $u1 ) );
+
+		// prime cache
+		groups_get_group_admins( $g );
+
+		// promote user 2 to an admin
+		bp_update_is_item_admin( true );
+		groups_promote_member( $u2, $g, 'admin' );
+
+		// assert that cache is invalidated
+		$this->assertEmpty( wp_cache_get( $g, 'bp_group_admins' ) );
+
+		// assert new cached value
+		$this->assertEquals( 2, count( groups_get_group_admins( $g ) ) );
+	}
 }
