This issue is knowed at:
To fixe it 2 solutions in "/include/wpmu-functions.ph" at line 1930:
1- Replace:
function promote_if_site_admin(&$user) {
if ( !is_site_admin( $user->user_login ) )
return false;
by
function promote_if_site_admin(&$user) {
return false; /* add this line */
if ( !is_site_admin( $user->user_login ) )
return false;
OR
2- In this function replace:
if ( is_array( $user->{$cap_key} ) ) {
$user->{$cap_key} = array_merge( array( 'administrator' => '1' ), $user->{$cap_key} );
} else {
$user->{$cap_key} = array( 'administrator' => '1' );
}
by
if ( is_array( $user->{$cap_key} ) ) {
$user->{$cap_key} = array_merge( array( 'Administrator' => '1' ), $user->{$cap_key} );
} else {
$user->{$cap_key} = array( 'Administrator' => '1' );
}
In other words, a capital A in administrator.
I don't know what is the best solution and why this issue known in wpmu 2.7 is not fixed in wpmu 2.8.2.