diff --git a/core/modules/user/user.test b/core/modules/user/user.test
index 15c427b..a8949b8 100644
--- a/core/modules/user/user.test
+++ b/core/modules/user/user.test
@@ -2209,3 +2209,84 @@ class UserEntityCallbacksTestCase extends DrupalWebTestCase {
     $this->assertEqual('user/' . $this->account->uid, $uri['path'], t('Correct user URI.'));
   }
 }
+
+/**
+ * Test the password reset functionality
+ */
+class UserPasswordResetTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'User password reset',
+      'description' => 'Test the password reset functionality',
+      'group' => 'User',
+    );
+  }
+
+  function setUp() {
+    parent::setUp('locale');
+  }
+
+  /**
+   * Test the locale on the user password reset page
+   */
+  function testUserPasswordResetLocale() {
+    // User to add and remove language.
+    $admin_user = $this->drupalCreateUser(array('administer languages', 'access administration pages'));
+
+    // Create a test user.
+    $web_user = $this->drupalCreateUser(array());
+
+    // Set up a custom language on the site.
+    $this->drupalLogin($admin_user);
+
+    // Code for the language.
+    $langcode = 'xx';
+    $edit = array(
+      'predefined_langcode' => 'custom',
+      'langcode' => $langcode,
+      'name' => $this->randomName(16),
+      'direction' => '0',
+    );
+    $this->drupalPost('admin/config/regional/language/add', $edit, t('Add custom language'));
+
+    // Now add a translated string to the locale system.
+
+    // Create a fake version of $reports.
+    $report['skips'] = $report['additions'] = $report['updates'] = $report['deletes'] = 0;
+    _locale_import_one_string_db($report, $langcode, '', 'Home', 'Hxxx', 'default', '', LOCALE_IMPORT_OVERWRITE);
+
+    // Reset locale cache.
+    locale(NULL, NULL, NULL, TRUE);
+    $this->drupalLogout();
+
+    // Change the language for the web user.
+    $this->drupalLogin($web_user);
+    $path = 'user/' . $web_user->uid . '/edit';
+    $this->drupalGet($path);
+    $edit = array(
+      'language' => $langcode,
+    );
+    $this->drupalPost($path, $edit, t('Save'));
+    $this->drupalLogout();
+
+    // Reload the webuser with changed locale settings.
+    $users = user_load_multiple(array(), array('mail' => $web_user->mail, 'status' => '1'), TRUE);
+    $account = reset($users);
+
+    // Render the password reset link.
+    $timestamp = time();
+    $reset_link = 'user/reset/' . $account->uid .'/' . $timestamp .'/';
+    $reset_link .= user_pass_rehash($account->pass, $timestamp, $account->login);
+
+    $this->drupalGet($reset_link);
+
+    // Make sure we are on the proper page.
+    $this->assertNoText(t('You have tried to use a one-time login link that has expired'), t('One time login page found.'));
+    $this->assertNoText(t('E-mail new password'), t('One time login page found.'));
+    $this->assertText(t('This login can be used only once.'), t('One time login page found.'));
+
+    // Now check if the translated string can be found.
+    $this->assertText('Hxxx', t('Translated password reset page found.'));
+  }
+}
