diff --git a/core/modules/language/src/ConfigurableLanguageManager.php b/core/modules/language/src/ConfigurableLanguageManager.php
index 59d6d54..03e1681 100644
--- a/core/modules/language/src/ConfigurableLanguageManager.php
+++ b/core/modules/language/src/ConfigurableLanguageManager.php
@@ -99,7 +99,7 @@ class ConfigurableLanguageManager extends LanguageManager implements Configurabl
    *
    * @var bool
    */
-  protected $initializing = FALSE;
+  protected $initializing = [];
 
   /**
    * {@inheritdoc}
@@ -217,13 +217,18 @@ public function getCurrentLanguage($type = LanguageInterface::TYPE_INTERFACE) {
       // Ensure we have a valid value for this language type.
       $this->negotiatedLanguages[$type] = $this->getDefaultLanguage();
 
+      // Ensure that the initalizing array is properly set up for any keys.
+      if (!isset($this->initializing[$type])) {
+        $this->initializing[$type] = FALSE;
+      }
+
       if ($this->negotiator && $this->isMultilingual()) {
-        if (!$this->initializing) {
-          $this->initializing = TRUE;
+        if (!$this->initializing[$type]) {
+          $this->initializing[$type] = TRUE;
           $negotiation = $this->negotiator->initializeType($type);
           $this->negotiatedLanguages[$type] = reset($negotiation);
           $this->negotiatedMethods[$type] = key($negotiation);
-          $this->initializing = FALSE;
+          $this->initializing[$type] = FALSE;
         }
         // If the current interface language needs to be retrieved during
         // initialization we return the system language. This way string
