diff --git modules/simpletest/tests/upgrade/upgrade.locale.test modules/simpletest/tests/upgrade/upgrade.locale.test
index 2d83acd..0970dd1 100644
--- modules/simpletest/tests/upgrade/upgrade.locale.test
+++ modules/simpletest/tests/upgrade/upgrade.locale.test
@@ -41,6 +41,31 @@ class LocaleUpgradePathTestCase extends UpgradePathTestCase {
   }
 
   /**
+   * Test a successful upgrade (no negotiation, locale module disabled).
+   */
+  public function testLocaleUpgradeDisabled() {
+    // Disable the locale module.
+    db_update('system')
+      ->fields(array('status' => 0))
+      ->condition('type', 'module')
+      ->condition('name', 'locale')
+      ->execute();
+
+    $this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.'));
+    // Reenable the locale module.
+    $this->drupalPost('admin/modules', array('modules[Core][locale][enable]' => 1), t('Save configuration'));
+
+    // The home page should be in French.
+    $this->assertPageInLanguage('', 'fr');
+
+    // No prefixed page should exist.
+    $this->drupalGet('en');
+    $this->assertResponse(404);
+    $this->drupalGet('fr');
+    $this->assertResponse(404);
+  }
+
+  /**
    * Test an upgrade with path-based negotiation.
    */
   public function testLocaleUpgradePathDefault() {
