Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 19023)
+++ wp-admin/users.php	(working copy)
@@ -67,8 +67,8 @@
 
 		if ( ! current_user_can('promote_user', $id) )
 			wp_die(__('You can&#8217;t edit that user.'));
-		// The new role of the current user must also have promote_users caps
-		if ( $id == $current_user->ID && !$wp_roles->role_objects[$_REQUEST['new_role']]->has_cap('promote_users') ) {
+		// The new role of the current user must also have promote_users caps unless he is a network admin
+		if ( $id == $current_user->ID && ( !is_super_admin( $current_user->ID ) && !$wp_roles->role_objects[$_REQUEST['new_role']]->has_cap('promote_users') ) )  {
 			$update = 'err_admin_role';
 			continue;
 		}
