Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.771
diff -u -r1.771 user.module
--- modules/user/user.module	13 Apr 2007 08:56:59 -0000	1.771
+++ modules/user/user.module	13 Apr 2007 09:57:49 -0000
@@ -1169,14 +1169,22 @@
 }
 
 function user_pass_validate($form_id, $form_values) {
+  $account = FALSE;
   $name = trim($form_values['name']);
+
+  // Check if the submitted value is a valid e-mail address.
   if (valid_email_address($name)) {
     $account = user_load(array('mail' => $name, 'status' => 1));
   }
-  else {
+  // If the submitted value
+  //   a) is not an e-mail address, or
+  //   b) is a username in e-mail address format, or
+  //   c) is an affiliate's username (again using an e-mail address format),
+  // assume that it is a username.
+  if (!$account) {
     $account = user_load(array('name' => $name, 'status' => 1));
   }
-  if (isset($account->uid)) {
+  if ($account) {
     form_set_value(array('#parents' => array('account')), $account);
   }
   else {
