diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageEnglishToggleTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageEnglishToggleTest.php
new file mode 100644
index 0000000..de9f335
--- /dev/null
+++ b/core/modules/language/lib/Drupal/language/Tests/LanguageEnglishToggleTest.php
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\language\Tests\LanguageEnglishToggleTest.
+ */
+
+namespace Drupal\language\Tests;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Functional tests for removing and adding the English Language
+ */
+class LanguageEnglishToggleTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('locale', 'language');
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Language Add and Removing',
+      'description' => 'Adds a new language and tests deleting and adding English.',
+      'group' => 'Language',
+    );
+  }
+
+  /**
+   * Functional tests for adding and deleting languages.
+   */
+  function testLanguageAddRemove() {
+
+    $admin_user = $this->drupalCreateUser(array(
+      'administer languages',
+      'access administration pages',
+      'administer site configuration'
+    ));
+    $this->drupalLogin($admin_user);
+
+
+    $modulepath = 'admin/modules';
+    $this->drupalGet($modulepath);
+
+    // Add predefined language.
+    $edit = array(
+      'predefined_langcode' => 'fr',
+    );
+    $this->drupalPost('admin/config/regional/language/add', $edit, t('Add language'));
+    $this->assertText('French', 'Language added successfully.');
+    $this->assertEqual($this->getUrl(), url('admin/config/regional/language', array('absolute' => TRUE)), 'Correct page redirection.');
+
+    // Set French as default site language
+    $path = 'admin/config/regional/settings';
+    $this->drupalGet($path);
+    $edit = array(
+      'site_default_language' => 'fr',
+    );
+    $this->drupalPost(NULL, $edit, t('Save configuration'));
+    $this->assertOptionSelected('edit-site-default-language', 'fr', 'Default language updated to French.');
+    $this->assertEqual($this->getUrl(), url($path, array('absolute' => TRUE)), 'Correct page redirection.');
+
+    // Delete English
+    $this->drupalPost('admin/config/regional/language/delete/en', array(), t('Delete'));
+    $t_args = array('%language' => t('English'), '%langcode' => 'en');
+    $this->assertRaw(t('The %language (%langcode) language has been removed.', $t_args), 'The test language has been removed.');
+    $path = 'admin/config/regional/language';
+    $this->drupalGet($path);
+
+    debug($this->content);
+
+    // Reinstall English language.
+    $edit = array(
+      'predefined_langcode' => 'en',
+    );
+    $this->drupalPost('admin/config/regional/language/add', $edit, t('Add language'));
+    $this->assertText('English', 'Language added successfully.');
+
+    // Check if error exists at admin/config
+    $path = 'admin/config';
+    $this->drupalGet($path);
+    $error = array(
+      '%type' => 'Notice',
+      '!message' => 'Undefined index: en',
+      '%function' => 'locale_requirements()',
+    );
+    $message = t('%type: !message in %function', $error);
+    $this->assertNoRaw($message, t('Did not find error message: !message.', array('!message' => $message)));
+    $this->assertNoText('locale_requirements');
+  }
+
+}
\ No newline at end of file
