diff --git a/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php b/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
index af2ef3b..b81919f 100644
--- a/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
+++ b/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
@@ -234,11 +234,12 @@ protected function attachPropertyData(array &$entities, $load_revision = FALSE)
         // Field values in default language are stored with LANGUAGE_DEFAULT as
         // key.
         $langcode = empty($values['default_langcode']) ? $values['langcode'] : LANGUAGE_DEFAULT;
+        $translation = $entities[$id]->getTranslation($langcode);
 
         foreach ($this->entityInfo['schema_fields_sql']['data_table'] as $name) {
           // Set translatable properties only.
           if (!empty($field_definition[$name]['translatable'])) {
-            $entities[$id]->getTranslation($langcode)->{$name}->value = $values[$name];
+            $translation->{$name}->value = $values[$name];
           }
         }
       }
diff --git a/core/modules/field_sql_storage/field_sql_storage.module b/core/modules/field_sql_storage/field_sql_storage.module
index d354f51..d51519f 100644
--- a/core/modules/field_sql_storage/field_sql_storage.module
+++ b/core/modules/field_sql_storage/field_sql_storage.module
@@ -415,6 +415,12 @@ function field_sql_storage_field_storage_write($entity_type, $entity, $op, $fiel
     $all_langcodes = field_available_languages($entity_type, $field);
     $field_langcodes = array_intersect($all_langcodes, array_keys((array) $entity->$field_name));
 
+    // @todo Hack around Entity Field BCDecorator.
+    $entity_langcode = $entity->language()->langcode;
+    if ($field['translatable'] && $entity_langcode != LANGUAGE_NOT_SPECIFIED && ($index = array_search(LANGUAGE_NOT_SPECIFIED, $field_langcodes)) !== FALSE) {
+      unset($field_langcodes[$index]);
+    }
+
     // Delete and insert, rather than update, in case a value was added.
     if ($op == FIELD_STORAGE_UPDATE) {
       // Delete language codes present in the incoming $entity->$field_name.
