diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 32d38eb..7b1a65c 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -223,6 +223,12 @@ function language_process_language_select($element) {
       $element['#options'][$langcode] = $language->locked ? t('- @name -', array('@name' => $language->name)) : $language->name;
     }
   }
+  // Add "Built-in English" language to the select when the default value is
+  // set to english but it does not exist in the options list.
+  if (isset($element['#default_value']) && $element['#default_value'] == 'en' && !isset($element['#options']['en'])) {
+    // Prepend the default language at the beginning of the list.
+    $element['#options'] = array('en' => t('Built-in English')) + $element['#options'];
+  }
   return $element;
 }
 
diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuLanguageTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuLanguageTest.php
index d2d3b48..10e38fe 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuLanguageTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuLanguageTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\menu\Tests;
 
+use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Language\Language;
 
 /**
@@ -55,7 +56,7 @@ function setUp() {
   function testMenuLanguage() {
     // Create a test menu to test the various language-related settings.
     // Machine name has to be lowercase.
-    $menu_name = drupal_strtolower($this->randomName(16));
+    $menu_name = Unicode::strtolower($this->randomName(16));
     $label = $this->randomString();
     $edit = array(
       'id' => $menu_name,
@@ -157,4 +158,36 @@ function testMenuLanguage() {
     $this->assertNoField('edit-langcode', 'The language selector field was hidden the page');
   }
 
+  /**
+   * Tests menu configuration is still English after English has been deleted.
+   */
+  function testMenuLanguageRemovedEnglish() {
+    // Create a test menu to test language settings.
+    // Machine name has to be lowercase.
+    $menu_name = Unicode::strtolower($this->randomName(16));
+    $edit = array(
+      'id' => $menu_name,
+      'description' => '',
+      'label' => $this->randomString(),
+      'langcode' => 'en',
+    );
+    $this->drupalPostForm('admin/structure/menu/add', $edit, t('Save'));
+
+    // Check that the language settings were saved.
+    $menu = menu_load($menu_name);
+    $this->assertEqual($menu->langcode, 'en');
+
+    // Remove English language. To do that another language has to be set as
+    // default.
+    $language = language_load('aa');
+    $language->default = TRUE;
+    language_save($language);
+    language_delete('en');
+
+    // Save the menu again and check if the language is still the same.
+    $this->drupalPostForm("admin/structure/menu/manage/$menu_name", array(), t('Save'));
+    $menu = menu_load($menu_name);
+    $this->assertEqual($menu->langcode, 'en');
+  }
+
 }
