Index: src/bp-core/bp-core-caps.php
===================================================================
--- src/bp-core/bp-core-caps.php
+++ src/bp-core/bp-core-caps.php
@@ -264,8 +264,15 @@
 	if ( bp_is_user_inactive( $user_id ) )
 		return $caps;
 
-	// Only users that can 'manage_options' on this site can 'bp_moderate'
-	return array( 'manage_options' );
+	// check explicitly for the 'bp_moderate' cap
+	$user = new WP_User( $user_id );
+	if ( ! empty( $user->allcaps['bp_moderate'] ) ) {
+		return $caps;
+
+	// 'bp_moderate' cap does not exist; do not allow
+	} else {
+		return array( 'do_not_allow' );
+	}
 }
 add_filter( 'map_meta_cap', '_bp_enforce_bp_moderate_cap_for_admins', 10, 4 );
 
Index: src/bp-members/bp-members-adminbar.php
===================================================================
--- src/bp-members/bp-members-adminbar.php
+++ src/bp-members/bp-members-adminbar.php
@@ -75,12 +75,15 @@
 	global $bp, $wp_admin_bar;
 
 	// Only show if viewing a user
-	if ( !bp_is_user() )
+	if ( ! bp_is_user() ) {
 		return false;
+	}
 
-	// Don't show this menu to non site admins or if you're viewing your own profile
-	if ( !current_user_can( 'edit_users' ) || bp_is_my_profile() )
+	// Don't show this menu to users who cannot moderate or if you're viewing your
+	// own profile
+	if ( ! bp_current_user_can( 'bp_moderate' ) || bp_is_my_profile() ) {
 		return false;
+	}
 
 	// Unique ID for the 'My Account' menu
 	$bp->user_admin_menu_id = 'user-admin';
