diff --git a/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php b/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
index f40b93e..97d0f30 100644
--- a/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
+++ b/core/lib/Drupal/Core/Entity/DatabaseStorageControllerNG.php
@@ -298,7 +298,6 @@ protected function attachPropertyData(array &$entities, $revision_id = FALSE) {
       }
 
       $data = $query->execute();
-
       $field_definition = $this->getFieldDefinitions(array());
       if ($this->revisionTable) {
         $data_fields = array_flip(array_diff($this->entityInfo['schema_fields_sql']['revision_table'], $this->entityInfo['schema_fields_sql']['base_table']));
@@ -329,7 +328,7 @@ protected function attachPropertyData(array &$entities, $revision_id = FALSE) {
           if (isset($data_fields[$name]) && ($this->revisionTable || $translatable)) {
             // @todo Figure out how to determine which property has to be set.
             // Currently it's guessing, and guessing is evil!
-            $object = $translatable ? $translation : $entity;
+            $object = $translatable ? $translation : $entities[$id];
             $property_definition = $object->{$name}->getPropertyDefinitions();
             $object->{$name}->{key($property_definition)} = $values[$name];
           }
