? user_pass_fix.patch
Index: modules/user/user.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.pages.inc,v
retrieving revision 1.8
diff -u -p -r1.8 user.pages.inc
--- modules/user/user.pages.inc	31 Dec 2007 08:54:37 -0000	1.8
+++ modules/user/user.pages.inc	2 Jan 2008 12:56:42 -0000
@@ -43,10 +43,10 @@ function user_pass() {
 
 function user_pass_validate($form, &$form_state) {
   $name = trim($form_state['values']['name']);
-  if (valid_email_address($name)) {
-    $account = user_load(array('mail' => $name, 'status' => 1));
-  }
-  else {
+  // Try to load by email.
+  $account = user_load(array('mail' => $name, 'status' => 1));
+  if (!$account) {
+    // No success, try to load by name.
     $account = user_load(array('name' => $name, 'status' => 1));
   }
   if (isset($account->uid)) {
