diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc
index 6ca330b..72e1dba 100644
--- a/modules/user/user.admin.inc
+++ b/modules/user/user.admin.inc
@@ -437,6 +437,18 @@ function user_admin_settings() {
     '#description' => t("This text is displayed at the picture upload form in addition to the default guidelines. It's useful for helping or instructing your users."),
   );
 
+  $form['privacy'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Privacy'),
+  );
+  $form['privacy']['user_password_reset_text'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Password reset text'),
+    '#default_value' => variable_get('user_password_reset_text', t('If an account exists with these credentials, password reset instructions will be sent to the email associated with the account.')),
+    '#description' => t('The text that appears when a user successfully submits the password reset form. Due to privacy concerns, it should not contain any information about previously registered users.'),
+    '#required' => TRUE,
+  );
+
   $form['email_title'] = array(
     '#type' => 'item',
     '#title' => t('E-mails'),
diff --git a/modules/user/user.pages.inc b/modules/user/user.pages.inc
index 2a1b291..3a37bdd 100644
--- a/modules/user/user.pages.inc
+++ b/modules/user/user.pages.inc
@@ -78,9 +78,6 @@ function user_pass_validate($form, &$form_state) {
   if (isset($account->uid)) {
     form_set_value(array('#parents' => array('account')), $account, $form_state);
   }
-  else {
-    form_set_error('name', t('Sorry, %name is not recognized as a user name or an e-mail address.', array('%name' => $name)));
-  }
 }
 
 /**
@@ -91,14 +88,21 @@ function user_pass_validate($form, &$form_state) {
 function user_pass_submit($form, &$form_state) {
   global $language;
 
-  $account = $form_state['values']['account'];
-  // Mail one time login URL and instructions using current language.
-  $mail = _user_mail_notify('password_reset', $account, $language);
-  if (!empty($mail)) {
-    watchdog('user', 'Password reset instructions mailed to %name at %email.', array('%name' => $account->name, '%email' => $account->mail));
-    drupal_set_message(t('Further instructions have been sent to your e-mail address.'));
+  $name = $form_state['values']['name'];
+  if (isset($form_state['values']['account'])) {
+    $account = $form_state['values']['account'];
+    // Mail one time login URL and instructions using current language.
+    $mail = _user_mail_notify('password_reset', $account, $language);
+    if (!empty($mail)) {
+      watchdog('user', 'Password reset instructions mailed to %name at %email.', array('%name' => $account->name, '%email' => $account->mail));
+    }
+  }
+  else {
+    watchdog('user', 'Password reset form was submitted with an unknown or inactive account: %name.', array('%name' => $name));
   }
 
+  $message = variable_get('user_password_reset_text', t('If an account exists with these credentials, password reset instructions will be sent to the email associated with the account.'));
+  drupal_set_message($message);
   $form_state['redirect'] = 'user';
   return;
 }
diff --git a/modules/user/user.test b/modules/user/user.test
index 63143c3..d146143 100644
--- a/modules/user/user.test
+++ b/modules/user/user.test
@@ -477,7 +477,8 @@ class UserPasswordResetTestCase extends DrupalWebTestCase {
     $edit = array('name' => $account->name);
     $this->drupalPost('user/password', $edit, t('E-mail new password'));
     // Confirm the password reset.
-    $this->assertText(t('Further instructions have been sent to your e-mail address.'), 'Password reset instructions mailed message displayed.');
+    $password_reset_text = variable_get('user_password_reset_text', t('If an account exists with these credentials, password reset instructions will be sent to the email associated with the account.'));
+    $this->assertText($password_reset_text, 'Password reset instructions mailed message displayed.');
   }
 
   /**
