diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
index f2c8436..f99874b 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
@@ -737,22 +737,10 @@ public function getTranslation($langcode) {
     if (isset($this->translations[$langcode]['entity'])) {
       $translation = $this->translations[$langcode]['entity'];
     }
-    else {
-      if (isset($this->translations[$langcode])) {
-        $translation = $this->initializeTranslation($langcode);
-        $this->translations[$langcode]['entity'] = $translation;
-      }
-      else {
-        // If we were given a valid language and there is no translation for it,
-        // we return a new one.
-        $this->getLanguages();
-        if (isset($this->languages[$langcode])) {
-          // If the entity or the requested language  is not a configured
-          // language, we fall back to the entity itself, since in this case it
-          // cannot have translations.
-          $translation = !$this->languages[$this->defaultLangcode]->isLocked() && !$this->languages[$langcode]->isLocked() ? $this->addTranslation($langcode) : $this;
-        }
-      }
+    // Otherwise if an existing language was specified
+    elseif (isset($this->translations[$langcode])) {
+      $translation = $this->initializeTranslation($langcode);
+      $this->translations[$langcode]['entity'] = $translation;
     }
 
     if (empty($translation)) {
