--- user.module.old 2006-06-03 00:41:34.000000000 -0500 +++ user.module 2006-06-03 00:41:43.000000000 -0500 @@ -139,7 +139,7 @@ if (is_array($array['roles'])) { db_query('DELETE FROM {users_roles} WHERE uid = %d', $account->uid); - foreach (array_keys($array['roles']) as $rid) { + foreach (array_values($array['roles']) as $rid) { if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) { db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $account->uid, $rid); }