diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
index 9e83814..1bdd2bb 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
@@ -824,8 +824,9 @@ public function addTranslation($langcode, array $values = array()) {
     // Make sure we do not attempt to create a translation if an invalid
     // language is specified or the entity cannot be translated.
     $this->getLanguages();
-    if (!isset($this->languages[$langcode]) || $this->hasTranslation($langcode) || $this->languages[$langcode]->isLocked()) {
-      throw new \InvalidArgumentException("Invalid translation language ($langcode) specified.");
+    if (!isset($this->languages[$langcode]) || $this->hasTranslation($langcode)) {
+      if($this->languages[$langcode]->isLocked())
+        throw new \InvalidArgumentException("Invalid translation language ($langcode) specified.");
     }
     if ($this->languages[$this->defaultLangcode]->isLocked()) {
       throw new \InvalidArgumentException("The entity cannot be translated since it is language neutral ({$this->defaultLangcode}).");
