--- user.module~ 2008-07-09 14:48:28.000000000 -0700 +++ user.module 2008-07-16 16:51:41.077049000 -0700 @@ -1387,8 +1387,8 @@ function user_external_login_register($name, $module) { global $user; - $user = user_load(array('name' => $name)); - if (!isset($user->uid)) { + $registered_user = user_load(array('name' => $name)); + if (!isset($registered_user->uid)) { // Register this new user. $userinfo = array( 'name' => $name, @@ -1406,6 +1406,8 @@ } $user = $account; watchdog('user', 'New external user: %name using module %module.', array('%name' => $name, '%module' => $module), WATCHDOG_NOTICE, l(t('edit'), 'user/'. $user->uid .'/edit')); + } else { + $user = $registered_user; } }