diff --git a/wp-admin/includes/user.php b/wp-admin/includes/user.php index 1aa3c35ae1..e0033dc171 100644 --- a/wp-admin/includes/user.php +++ b/wp-admin/includes/user.php @@ -79,7 +79,7 @@ function edit_user( $user_id = 0 ) { $potential_role = isset($wp_roles->role_objects[$new_role]) ? $wp_roles->role_objects[$new_role] : false; // Don't let anyone with 'edit_users' (admins) edit their own role to something without it. // Multisite super admins can freely edit their blog roles -- they possess all caps. - if ( ( is_multisite() && is_super_admin() ) || $user_id != $current_user->id || ($potential_role && $potential_role->has_cap( 'edit_users' ) ) ) + if ( ( is_multisite() && current_user_can( 'manage_sites' ) ) || $user_id != $current_user->id || ($potential_role && $potential_role->has_cap( 'edit_users' ) ) ) $user->role = $new_role; // If the new role isn't editable by the logged-in user die with error