diff --git a/core/lib/Drupal/Core/Entity/DatabaseStorageController.php b/core/lib/Drupal/Core/Entity/DatabaseStorageController.php
index 744eb23..3c5ead3 100644
--- a/core/lib/Drupal/Core/Entity/DatabaseStorageController.php
+++ b/core/lib/Drupal/Core/Entity/DatabaseStorageController.php
@@ -569,13 +569,15 @@ protected function doLoadFieldItems($entities, $age) {
     }
 
     // Load field data.
+
     foreach ($fields as $field_name => $field) {
       $table = $load_current ? static::_fieldTableName($field) : static::_fieldRevisionTableName($field);
 
       $results = $this->database->select($table, 't')
         ->fields('t')
         ->condition($load_current ? 'entity_id' : 'revision_id', $ids, 'IN')
-        ->condition('langcode', field_available_languages($this->entityType, $field), 'IN')
+        // @todo: convert this.
+        //->condition('langcode', field_available_languages($this->entityType, $field), 'IN')
         ->orderBy('delta')
         ->condition('deleted', 0)
         ->execute();
@@ -597,7 +599,7 @@ protected function doLoadFieldItems($entities, $age) {
           }
 
           // Add the item to the field values for the entity.
-          $entities[$row->entity_id]->{$field_name}[$row->langcode][] = $item;
+          $entities[$row->entity_id]->getTranslation($row->langcode)->{$field_name}[$delta_count[$row->entity_id][$row->langcode]] = $item;
           $delta_count[$row->entity_id][$row->langcode]++;
         }
       }
@@ -621,29 +623,19 @@ protected function doSaveFieldItems(EntityInterface $entity, $update) {
       $table_name = static::_fieldTableName($field);
       $revision_name = static::_fieldRevisionTableName($field);
 
-      $all_langcodes = field_available_languages($entity_type, $field);
-      $field_langcodes = array_intersect($all_langcodes, array_keys((array) $entity->$field_name));
-
       // Delete and insert, rather than update, in case a value was added.
       if ($update) {
-        // Delete language codes present in the incoming $entity->$field_name.
-        // Delete all language codes if $entity->$field_name is empty.
-        $langcodes = !empty($entity->$field_name) ? $field_langcodes : $all_langcodes;
-        if ($langcodes) {
-          // Only overwrite the field's base table if saving the default revision
-          // of an entity.
-          if ($entity->isDefaultRevision()) {
-            $this->database->delete($table_name)
-              ->condition('entity_id', $id)
-              ->condition('langcode', $langcodes, 'IN')
-              ->execute();
-          }
-          $this->database->delete($revision_name)
+        // Only overwrite the field's base table if saving the default revision
+        // of an entity.
+        if ($entity->isDefaultRevision()) {
+          $this->database->delete($table_name)
             ->condition('entity_id', $id)
-            ->condition('revision_id', $vid)
-            ->condition('langcode', $langcodes, 'IN')
             ->execute();
         }
+        $this->database->delete($revision_name)
+          ->condition('entity_id', $id)
+          ->condition('revision_id', $vid)
+          ->execute();
       }
 
       // Prepare the multi-insert query.
@@ -655,8 +647,8 @@ protected function doSaveFieldItems(EntityInterface $entity, $update) {
       $query = $this->database->insert($table_name)->fields($columns);
       $revision_query = $this->database->insert($revision_name)->fields($columns);
 
-      foreach ($field_langcodes as $langcode) {
-        $items = (array) $entity->{$field_name}[$langcode];
+      foreach ($entity->getTranslationLanguages() as $langcode => $language) {
+        $items = (array) $entity->getTranslation($langcode)->{$field_name}->getValue();
         $delta_count = 0;
         foreach ($items as $delta => $item) {
           // We now know we have someting to insert.
diff --git a/core/lib/Drupal/Core/Entity/EntityFormController.php b/core/lib/Drupal/Core/Entity/EntityFormController.php
index 07dd8f3..2a3a45c 100644
--- a/core/lib/Drupal/Core/Entity/EntityFormController.php
+++ b/core/lib/Drupal/Core/Entity/EntityFormController.php
@@ -274,31 +274,10 @@ public function validate(array $form, array &$form_state) {
 
     $violations = array();
 
-    // @todo Simplify when all entity types are converted to EntityNG.
-    if ($entity instanceof EntityNG) {
-      foreach ($entity as $field_name => $field) {
-        $field_violations = $field->validate();
-        if (count($field_violations)) {
-          $violations[$field_name] = $field_violations;
-        }
-      }
-    }
-    else {
-      // For BC entities, iterate through each field instance and
-      // instantiate NG items objects manually.
-      $definitions = \Drupal::entityManager()->getFieldDefinitions($entity_type, $entity->bundle());
-      foreach (field_info_instances($entity_type, $entity->bundle()) as $field_name => $instance) {
-        $langcode = field_is_translatable($entity_type, $instance->getField()) ? $entity_langcode : Language::LANGCODE_NOT_SPECIFIED;
-
-        // Create the field object.
-        $items = isset($entity->{$field_name}[$langcode]) ? $entity->{$field_name}[$langcode] : array();
-        // @todo Exception : calls setValue(), tries to set the 'formatted'
-        // property.
-        $field = \Drupal::typedData()->create($definitions[$field_name], $items, $field_name, $entity);
-        $field_violations = $field->validate();
-        if (count($field_violations)) {
-          $violations[$field->getName()] = $field_violations;
-        }
+    foreach ($entity as $field_name => $field) {
+      $field_violations = $field->validate();
+      if (count($field_violations)) {
+        $violations[$field_name] = $field_violations;
       }
     }
 
diff --git a/core/lib/Drupal/Core/Entity/EntityNG.php b/core/lib/Drupal/Core/Entity/EntityNG.php
index ac975d1..76b78be 100644
--- a/core/lib/Drupal/Core/Entity/EntityNG.php
+++ b/core/lib/Drupal/Core/Entity/EntityNG.php
@@ -667,6 +667,7 @@ public function translations() {
    * Overrides Entity::getBCEntity().
    */
   public function getBCEntity() {
+    return $this;
     if (!isset($this->bcEntity)) {
       // Initialize field definitions so that we can pass them by reference.
       $this->getPropertyDefinitions();
diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php
index 4741c19..b586bd6 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php
@@ -99,10 +99,6 @@ public function setValue($value, $notify = TRUE) {
     // Both the entity ID and the entity object may be passed as value. The
     // reference may also be unset by passing NULL as value.
     if (!isset($value) || $value instanceof EntityInterface) {
-      // Ensure we reference a NG Entity object.
-      if (isset($value)) {
-        $value = $value->getNGEntity();
-      }
       $this->target = $value;
     }
     elseif (!is_scalar($value) || empty($this->definition['constraints']['EntityType'])) {
diff --git a/core/modules/content_translation/content_translation.module b/core/modules/content_translation/content_translation.module
index 3edb6aa..b7f4527 100644
--- a/core/modules/content_translation/content_translation.module
+++ b/core/modules/content_translation/content_translation.module
@@ -610,19 +610,9 @@ function content_translation_form_alter(array &$form, array &$form_state) {
     // Handle fields shared between translations when there is at least one
     // translation available or a new one is being created.
     if (!$entity->isNew() && (!isset($translations[$form_langcode]) || count($translations) > 1)) {
-      $entity = $entity->getNGEntity();
-      if ($entity instanceof EntityNG) {
-        foreach ($entity->getPropertyDefinitions() as $property_name => $definition) {
-          if (isset($form[$property_name])) {
-            $form[$property_name]['#multilingual'] = !empty($definition['translatable']);
-          }
-        }
-      }
-      else {
-        foreach (field_info_instances($entity->entityType(), $entity->bundle()) as $instance) {
-          $field_name = $instance['field_name'];
-          $field = $instance->getField();
-          $form[$field_name]['#multilingual'] = !empty($field['translatable']);
+      foreach ($entity->getPropertyDefinitions() as $property_name => $definition) {
+        if (isset($form[$property_name])) {
+          $form[$property_name]['#multilingual'] = !empty($definition['translatable']);
         }
       }
     }
diff --git a/core/modules/content_translation/content_translation.pages.inc b/core/modules/content_translation/content_translation.pages.inc
index 966d259..d97ffe1 100644
--- a/core/modules/content_translation/content_translation.pages.inc
+++ b/core/modules/content_translation/content_translation.pages.inc
@@ -236,23 +236,8 @@ function content_translation_edit_page(EntityInterface $entity, Language $langua
  *   The language to be used as target.
  */
 function content_translation_prepare_translation(EntityInterface $entity, Language $source, Language $target) {
-  // @todo Unify field and property handling.
-  $entity = $entity->getNGEntity();
-  if ($entity instanceof EntityNG) {
-    $source_translation = $entity->getTranslation($source->id);
-    $entity->addTranslation($target->id, $source_translation->getPropertyValues());
-  }
-  else {
-    $instances = field_info_instances($entity->entityType(), $entity->bundle());
-    foreach ($instances as $field_name => $instance) {
-      $field = $instance->getField();
-      if (!empty($field['translatable'])) {
-        $value = $entity->get($field_name);
-        $value[$target->id] = isset($value[$source->id]) ? $value[$source->id] : array();
-        $entity->set($field_name, $value);
-      }
-    }
-  }
+  $source_translation = $entity->getTranslation($source->id);
+  $entity->addTranslation($target->id, $source_translation->getPropertyValues());
 }
 
 /**
diff --git a/core/modules/content_translation/lib/Drupal/content_translation/FieldTranslationSynchronizer.php b/core/modules/content_translation/lib/Drupal/content_translation/FieldTranslationSynchronizer.php
index 9fd4b0e..46a5b89 100644
--- a/core/modules/content_translation/lib/Drupal/content_translation/FieldTranslationSynchronizer.php
+++ b/core/modules/content_translation/lib/Drupal/content_translation/FieldTranslationSynchronizer.php
@@ -37,12 +37,6 @@ public function __construct(EntityManager $entityManager) {
    * {@inheritdoc}
    */
   public function synchronizeFields(EntityInterface $entity, $sync_langcode, $original_langcode = NULL) {
-    // Field synchronization is only supported for NG entities.
-    $entity = $entity->getNGEntity();
-    if (!($entity instanceof EntityNG)) {
-      return;
-    }
-
     $translations = $entity->getTranslationLanguages();
 
     // If we have no information about what to sync to, if we are creating a new
diff --git a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ConfigTestTranslationUITest.php b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ConfigTestTranslationUITest.php
index bb3c3fe..dfbd849 100644
--- a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ConfigTestTranslationUITest.php
+++ b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ConfigTestTranslationUITest.php
@@ -67,9 +67,8 @@ function testTranslationUI() {
     $entity = entity_load($this->entityType, $id, TRUE);
     $this->assertTrue($entity, 'Entity found in the database.');
 
-    $translation = $this->getTranslation($entity, $default_langcode);
     foreach ($values[$default_langcode] as $property => $value) {
-      $stored_value = $this->getValue($translation, $property, $default_langcode);
+      $stored_value = $entity->{$property};
       $value = is_array($value) ? $value[0]['value'] : $value;
       $message = format_string('@property correctly stored in the default language.', array('@property' => $property));
       $this->assertIdentical($stored_value, $value, $message);
diff --git a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationUITest.php b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationUITest.php
index 74b779b..65e9ddd 100644
--- a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationUITest.php
+++ b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationUITest.php
@@ -258,9 +258,7 @@ protected function getFormSubmitAction(EntityInterface $entity) {
    *   The translation object to act on.
    */
   protected function getTranslation(EntityInterface $entity, $langcode) {
-    // @todo remove once EntityBCDecorator is gone.
-    $entity = $entity->getNGEntity();
-    return $entity instanceof EntityNG ? $entity->getTranslation($langcode) : $entity;
+    return $entity->getTranslation($langcode);
   }
 
   /**
@@ -278,13 +276,7 @@ protected function getTranslation(EntityInterface $entity, $langcode) {
    */
   protected function getValue(EntityInterface $translation, $property, $langcode) {
     $key = $property == 'user_id' ? 'target_id' : 'value';
-    // @todo remove EntityBCDecorator condition once EntityBCDecorator is gone.
-    if (($translation instanceof EntityInterface) && !($translation instanceof EntityNG) && !($translation instanceof EntityBCDecorator)) {
-      return is_array($translation->$property) ? $translation->{$property}[$langcode][0][$key] : $translation->$property;
-    }
-    else {
-      return $translation->get($property)->{$key};
-    }
+    return $translation->get($property)->{$key};
   }
 
 }
diff --git a/core/modules/field/field.attach.inc b/core/modules/field/field.attach.inc
index 29036c7..78f1218 100644
--- a/core/modules/field/field.attach.inc
+++ b/core/modules/field/field.attach.inc
@@ -368,13 +368,11 @@ function _field_invoke_widget_target($form_display) {
  *   values.
  */
 function field_attach_preprocess(EntityInterface $entity, $element, &$variables) {
-  // Ensure we are working with a BC mode entity.
-  $entity = $entity->getBCEntity();
   foreach (field_info_instances($entity->entityType(), $entity->bundle()) as $instance) {
     $field_name = $instance['field_name'];
     if (isset($element[$field_name]['#language'])) {
       $langcode = $element[$field_name]['#language'];
-      $variables[$field_name] = isset($entity->{$field_name}[$langcode]) ? $entity->{$field_name}[$langcode] : NULL;
+      $variables[$field_name] = $entity->getTranslation($langcode)->{$field_name}->getValue();
     }
   }
 
diff --git a/core/modules/field/field.deprecated.inc b/core/modules/field/field.deprecated.inc
index 25677ac..35a49cc 100644
--- a/core/modules/field/field.deprecated.inc
+++ b/core/modules/field/field.deprecated.inc
@@ -563,9 +563,6 @@ function field_read_instances($conditions = array(), $include_additional = array
  * @see field_form_set_state()
  */
 function field_attach_form(EntityInterface $entity, &$form, &$form_state, $langcode = NULL, array $options = array()) {
-  // Ensure we are working with a BC mode entity.
-  $entity = $entity->getBCEntity();
-
   // Set #parents to 'top-level' by default.
   $form += array('#parents' => array());
 
@@ -620,11 +617,6 @@ function field_attach_form(EntityInterface $entity, &$form, &$form_state, $langc
  * @deprecated as of Drupal 8.0. Use the entity system instead.
  */
 function field_attach_form_validate(EntityInterface $entity, $form, &$form_state, array $options = array()) {
-  // Only support NG entities.
-  if (!($entity->getNGEntity() instanceof EntityNG)) {
-    return;
-  }
-
   $has_violations = FALSE;
   foreach ($entity as $field_name => $field) {
     $definition = $field->getDefinition();
@@ -669,9 +661,6 @@ function field_attach_form_validate(EntityInterface $entity, $form, &$form_state
  * @deprecated as of Drupal 8.0. Use the entity system instead.
  */
 function field_attach_extract_form_values(EntityInterface $entity, $form, &$form_state, array $options = array()) {
-  // Ensure we are working with a BC mode entity.
-  $entity = $entity->getBCEntity();
-
   // Extract field values from submitted values.
   $form_display = $form_state['form_display'];
   field_invoke_method('extractFormValues', _field_invoke_widget_target($form_display), $entity, $form, $form_state, $options);
@@ -720,9 +709,6 @@ function field_attach_prepare_view($entity_type, array $entities, array $display
   $prepare = array();
   foreach ($entities as $id => $entity) {
     if (empty($entity->_field_view_prepared)) {
-      // Ensure we are working with a BC mode entity.
-      $entity = $entity->getBCEntity();
-
       // Add this entity to the items to be prepared.
       $prepare[$id] = $entity;
 
@@ -776,8 +762,6 @@ function field_attach_prepare_view($entity_type, array $entities, array $display
  * @deprecated as of Drupal 8.0. Use the entity system instead.
  */
 function field_attach_view(EntityInterface $entity, EntityDisplay $display, $langcode = NULL, array $options = array()) {
-  // Ensure we are working with a BC mode entity.
-  $entity = $entity->getBCEntity();
   // Determine the actual language code to display for each field, given the
   // language codes available in the field data.
   $options['langcode'] = field_language($entity, NULL, $langcode);
@@ -789,8 +773,6 @@ function field_attach_view(EntityInterface $entity, EntityDisplay $display, $lan
   };
   $null = NULL;
   $output = field_invoke_method('view', $target_function, $entity, $null, $null, $options);
-  // Remove the BC layer now.
-  $entity = $entity->getNGEntity();
 
   // Let other modules alter the renderable array.
   $view_mode = $display->originalMode;
@@ -828,7 +810,6 @@ function field_attach_view(EntityInterface $entity, EntityDisplay $display, $lan
  *   $entity->getTranslation($langcode)->{$field_name}
  */
 function field_get_items(EntityInterface $entity, $field_name, $langcode = NULL) {
-  $entity = $entity->getBCEntity();
   $langcode = field_language($entity, $field_name, $langcode);
   return isset($entity->{$field_name}[$langcode]) ? $entity->{$field_name}[$langcode] : array();
 }
diff --git a/core/modules/field/field.module b/core/modules/field/field.module
index 1a673bc..a8fd090 100644
--- a/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -598,8 +598,7 @@ function _field_filter_xss_display_allowed_tags() {
  * @param $field_name
  *   The name of the field to display.
  * @param $item
- *   The field value to display, as found in
- *   $entity->field_name[$langcode][$delta].
+ *   The field item value to display.
  * @param $display
  *   Can be either the name of a view mode, or an array of display settings. See
  *   field_view_field() for more information.
@@ -613,9 +612,6 @@ function _field_filter_xss_display_allowed_tags() {
 function field_view_value(EntityInterface $entity, $field_name, $item, $display = array(), $langcode = NULL) {
   $output = array();
 
-  // Ensure we are working with a BC mode entity.
-  $entity = $entity->getBCEntity();
-
   if ($field = field_info_field($entity->entityType(), $field_name)) {
     // Determine the langcode that will be used by language fallback.
     $langcode = field_language($entity, $field_name, $langcode);
@@ -623,7 +619,7 @@ function field_view_value(EntityInterface $entity, $field_name, $item, $display
     // Push the item as the single value for the field, and defer to
     // field_view_field() to build the render array for the whole field.
     $clone = clone $entity;
-    $clone->{$field_name}[$langcode] = array($item);
+    $clone->getTranslation($langcode)->{$field_name}->setValue(array($item));
     $elements = field_view_field($clone, $field_name, $display, $langcode);
 
     // Extract the part of the render array we need.
@@ -721,7 +717,7 @@ function field_view_field(EntityInterface $entity, $field_name, $display_options
     $display_langcode = field_language($entity, $field_name, $langcode);
 
     // Invoke the formatter's prepareView() and view() methods.
-    $items = $entity->getNGEntity()->getTranslation($display_langcode)->get($field_name);
+    $items = $entity->getTranslation($display_langcode)->get($field_name);
     $id = $entity->id();
     $formatter->prepareView(array($id => $entity), $display_langcode, array($id => $items));
     $result = $formatter->view($entity, $display_langcode, $items);
diff --git a/core/modules/field/field.multilingual.inc b/core/modules/field/field.multilingual.inc
index d02595c..5701620 100644
--- a/core/modules/field/field.multilingual.inc
+++ b/core/modules/field/field.multilingual.inc
@@ -297,6 +297,7 @@ function field_valid_language($langcode, $default = TRUE) {
  *   keyed by field name otherwise.
  */
 function field_language(EntityInterface $entity, $field_name = NULL, $langcode = NULL) {
+  $entity = $entity->getBCEntity();
   $display_langcodes = &drupal_static(__FUNCTION__, array());
   $id = $entity->id();
   $bundle = $entity->bundle();
diff --git a/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php b/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
index 0830af4..0edb901 100644
--- a/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/TranslationTest.php
@@ -318,7 +318,7 @@ function testFieldDisplayLanguage() {
     \Drupal::state()->set('field_test.language_fallback', FALSE);
     $entity->getTranslation($requested_langcode)->{$this->field_name}->value = mt_rand(1, 127);
     drupal_static_reset('field_language');
-    $display_langcode = field_language($entity->getBCEntity(), $this->field_name, $requested_langcode);
+    $display_langcode = field_language($entity, $this->field_name, $requested_langcode);
     $this->assertEqual($display_langcode, $requested_langcode, 'Display language behave correctly when language fallback is disabled');
   }
 
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldEditForm.php b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldEditForm.php
index 135a938..940d295 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldEditForm.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldEditForm.php
@@ -231,14 +231,7 @@ public function submitForm(array &$form, array &$form_state) {
    *   The field item object.
    */
   protected function getFieldItem(EntityInterface $entity, $field_name) {
-    if ($entity instanceof EntityNG) {
-      $item = $entity->get($field_name)->offsetGet(0);
-    }
-    else {
-      $definitions = $this->entityManager->getFieldDefinitions($entity->entityType(), $entity->bundle());
-      $item = $this->typedData->create($definitions[$field_name], array(), $field_name, $entity)->offsetGet(0);
-    }
-    return $item;
+    return $entity->get($field_name)->offsetGet(0);
   }
 
 }
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php
index 4aff6da..b36812c 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php
@@ -217,14 +217,7 @@ public function delete(array &$form, array &$form_state) {
    *   The field object.
    */
   protected function getFieldItems(EntityInterface $entity, $field_name) {
-    if ($entity instanceof EntityNG) {
-      $item = $entity->get($field_name);
-    }
-    else {
-      $definitions = \Drupal::entityManager()->getFieldDefinitions($entity->entityType(), $entity->bundle());
-      $item = \Drupal::typedData()->create($definitions[$field_name], $this->instance->default_value, $field_name, $entity);
-    }
-    return $item;
+    return $entity->get($field_name);
   }
 
   /**
diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/FieldAccessTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/FieldAccessTest.php
index 27834a3..384c815 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Entity/FieldAccessTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Entity/FieldAccessTest.php
@@ -70,12 +70,12 @@ function testFieldAccess() {
     $values = array('name' => 'test');
     $account = entity_create('user', $values);
 
-    $this->assertFalse($entity->field_test_text->access('view', $account->getNGEntity()), 'Access to the field was denied.');
+    $this->assertFalse($entity->field_test_text->access('view', $account), 'Access to the field was denied.');
 
     $entity->field_test_text = 'access alter value';
-    $this->assertFalse($entity->field_test_text->access('view', $account->getNGEntity()), 'Access to the field was denied.');
+    $this->assertFalse($entity->field_test_text->access('view', $account), 'Access to the field was denied.');
 
     $entity->field_test_text = 'standard value';
-    $this->assertTrue($entity->field_test_text->access('view', $account->getNGEntity()), 'Access to the field was granted.');
+    $this->assertTrue($entity->field_test_text->access('view', $account), 'Access to the field was granted.');
   }
 }
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserAdminListingTest.php b/core/modules/user/lib/Drupal/user/Tests/UserAdminListingTest.php
index 9dfbe65..182812d 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserAdminListingTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserAdminListingTest.php
@@ -34,17 +34,17 @@ public function testUserListing() {
     // Create a bunch of users.
     $accounts = array();
     for ($i = 0; $i < 3; $i++) {
-      $account = $this->drupalCreateUser()->getNGEntity();
+      $account = $this->drupalCreateUser();
       $accounts[$account->label()] = $account;
     }
     // Create a blocked user.
-    $account = $this->drupalCreateUser()->getNGEntity();
+    $account = $this->drupalCreateUser();
     $account->block();
     $account->save();
     $accounts[$account->label()] = $account;
 
     // Create a user at a certain timestamp.
-    $account = $this->drupalCreateUser()->getNGEntity();
+    $account = $this->drupalCreateUser();
     $account->created = 1363219200;
     $account->save();
     $accounts[$account->label()] = $account;
@@ -53,7 +53,7 @@ public function testUserListing() {
     $rid_1 = $this->drupalCreateRole(array(), 'custom_role_1', 'custom_role_1');
     $rid_2 = $this->drupalCreateRole(array(), 'custom_role_2', 'custom_role_2');
 
-    $account = $this->drupalCreateUser()->getNGEntity();
+    $account = $this->drupalCreateUser();
     $account->addRole($rid_1);
     $account->addRole($rid_2);
     $account->save();
@@ -61,7 +61,7 @@ public function testUserListing() {
     $role_account_name = $account->label();
 
     // Create an admin user and look at the listing.
-    $admin_user = $this->drupalCreateUser(array('administer users'))->getNGEntity();
+    $admin_user = $this->drupalCreateUser(array('administer users'));
     $accounts[$admin_user->label()] = $admin_user;
 
     $accounts['admin'] = entity_load('user', 1);
