Index: user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.745.2.13 diff -u -p -r1.745.2.13 user.module --- user.module 26 Jul 2007 19:16:50 -0000 1.745.2.13 +++ user.module 16 Aug 2007 15:18:25 -0000 @@ -990,16 +990,20 @@ function user_authenticate($name, $pass) } } - // Try each external authentication source in series. Register user if - // successful. + // Try each external authentication source in series. else { foreach (module_implements('auth') as $module) { if (module_invoke($module, 'auth', $name, $pass, $server)) { if ($server) { $name .= '@'. $server; } - $user = user_load(array('name' => $name)); - if (!$user->uid) { // Register this new user. + + // Register user if there is not already a local account. + if ($account = user_load(array('name' => $name))) { + $user = $account; + return $user; + } + else { $userinfo = array('name' => $name, 'pass' => user_password(), 'init' => $name, 'status' => 1); if ($server) { $userinfo["authname_$module"] = $name;