diff --git a/core/lib/Drupal/Core/Language/LanguageManager.php b/core/lib/Drupal/Core/Language/LanguageManager.php
index 8a6c36c..ff2aa56 100644
--- a/core/lib/Drupal/Core/Language/LanguageManager.php
+++ b/core/lib/Drupal/Core/Language/LanguageManager.php
@@ -126,8 +126,6 @@ public function getLanguages($flags = LanguageInterface::STATE_CONFIGURABLE) {
     // No language module, so use the default language only.
     $default = $this->getDefaultLanguage();
     $languages = array($default->getId() => $default);
-    // Add the special languages, they will be filtered later if needed.
-    $languages += $this->getDefaultLockedLanguages($default->getWeight());
 
     // Filter the full list of languages based on the value of the $all flag. By
     // default we remove the locked languages, but the caller may request for
@@ -360,7 +358,7 @@ public function getConfigOverrideLanguage() {
   /**
    * Filters the full list of languages based on the value of the flag.
    *
-   * By default removes the locked languages.
+   * The locked languages are removed by default.
    *
    * @param \Drupal\Core\Language\LanguageInterface[] $languages
    *    Array with languages to be filtered.
@@ -368,7 +366,7 @@ public function getConfigOverrideLanguage() {
    * @param int $flags
    *   (optional) Specifies the state of the languages that have to be returned.
    *   It can be: LanguageInterface::STATE_CONFIGURABLE,
-   *   LanguageInterface::STATE_LOCKED, LanguageInterface::STATE_ALL.
+   *   LanguageInterface::STATE_LOCKED, or LanguageInterface::STATE_ALL.
    *
    * @return \Drupal\Core\Language\LanguageInterface[]
    *   An associative array of languages, keyed by the language code.
diff --git a/core/modules/language/src/ConfigurableLanguageManager.php b/core/modules/language/src/ConfigurableLanguageManager.php
index b11c169..354616f 100644
--- a/core/modules/language/src/ConfigurableLanguageManager.php
+++ b/core/modules/language/src/ConfigurableLanguageManager.php
@@ -278,30 +278,7 @@ public function setNegotiator(LanguageNegotiatorInterface $negotiator) {
    * {@inheritdoc}
    */
   public function getLanguages($flags = LanguageInterface::STATE_CONFIGURABLE) {
-    // Prepopulate the language list with the default language to keep things
-    // working even if we have no configuration.
-    $default = $this->getDefaultLanguage();
-    $languages = array($default->getId() => $default);
-
-    // Retrieve the list of languages defined in configuration.
-    $prefix = 'language.entity.';
-    $config_ids = $this->configFactory->listAll($prefix);
-
-    // Instantiate languages from config objects.
-    $weight = 0;
-    foreach ($this->configFactory->loadMultiple($config_ids) as $config) {
-      $data = $config->get();
-      $langcode = $data['id'];
-      // Initialize default property so callers have an easy reference and can
-      // save the same object without data loss.
-      $data['default'] = ($langcode == $default->getId());
-      $data['name'] = $data['label'];
-      $languages[$langcode] = new Language($data);
-      $weight = max(array($weight, $languages[$langcode]->getWeight()));
-    }
-
-    // Add locked languages, they will be filtered later if needed.
-    $languages += $this->getDefaultLockedLanguages($weight);
+    $languages = entity_load_multiple('configurable_language');
 
     // Sort the language list by weight then title.
     Language::sort($languages);
diff --git a/core/modules/language/src/Tests/LanguageSelectorTranslatableTest.php b/core/modules/language/src/Tests/LanguageSelectorTranslatableTest.php
index 9fff59e..a98f767 100644
--- a/core/modules/language/src/Tests/LanguageSelectorTranslatableTest.php
+++ b/core/modules/language/src/Tests/LanguageSelectorTranslatableTest.php
@@ -10,7 +10,7 @@
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Tests the Content translation settings language selector options.
+ * Tests the content translation settings language selector options.
  *
  * @group language
  */
@@ -32,7 +32,7 @@ class LanguageSelectorTranslatableTest extends WebTestBase {
   );
 
   /**
-   * The user with admininstrator privaledges.
+   * The user with administrator privileges.
    *
    * @var \Drupal\user\Entity\User;
    */
@@ -65,7 +65,7 @@ protected function getAdministratorPermissions() {
   }
 
   /**
-   * Tests Content Translation language selectors are correctly translatable.
+   * Tests content translation language selectors are correctly translate.
    */
   public function testLanguageStringSelector() {
     // Add another language.
@@ -74,7 +74,10 @@ public function testLanguageStringSelector() {
 
     // Translate the string English in Spanish (Inglés). Override config entity.
     $name_translation = 'Inglés';
-    \Drupal::languageManager()->getLanguageConfigOverride('es', 'language.entity.en')->set('label', $name_translation)->save();
+    \Drupal::languageManager()
+      ->getLanguageConfigOverride('es', 'language.entity.en')
+      ->set('label', $name_translation)
+      ->save();
 
     // Check content translation overview selector.
     $path = 'es/admin/config/regional/content-language';
