diff --git a/core/lib/Drupal/Core/Entity/Entity.php b/core/lib/Drupal/Core/Entity/Entity.php
index d4b4ea5..1cbe43e 100644
--- a/core/lib/Drupal/Core/Entity/Entity.php
+++ b/core/lib/Drupal/Core/Entity/Entity.php
@@ -736,12 +736,12 @@ public function changed() {
     );
 
     foreach ($this->referencedEntities() as $referenced_entity) {
-      $referenced_entity_ids[$referenced_entity->entityType()][$referenced_entity->id()] = TRUE;
+      $referenced_entity_ids[$referenced_entity->entityType()][$referenced_entity->id()] = $referenced_entity;
     }
 
-    foreach ($referenced_entity_ids as $entity_type => $entity_ids) {
+    foreach ($referenced_entity_ids as $entity_type => $entities) {
       if (\Drupal::entityManager()->hasController($entity_type, 'render')) {
-        \Drupal::entityManager()->getRenderController($entity_type)->resetCache(array_keys($entity_ids));
+        \Drupal::entityManager()->getRenderController($entity_type)->resetCache($entities);
       }
     }
   }
diff --git a/core/lib/Drupal/Core/Entity/EntityRenderController.php b/core/lib/Drupal/Core/Entity/EntityRenderController.php
index fe6bd10..b12bd05 100644
--- a/core/lib/Drupal/Core/Entity/EntityRenderController.php
+++ b/core/lib/Drupal/Core/Entity/EntityRenderController.php
@@ -232,11 +232,12 @@ public function viewMultiple(array $entities = array(), $view_mode = 'full', $la
   /**
    * {@inheritdoc}
    */
-  public function resetCache(array $ids = NULL) {
+  public function resetCache(array $entities = NULL) {
     if (isset($ids)) {
       $tags = array();
-      foreach ($ids as $entity_id) {
-        $tags[$this->entityType][$entity_id] = $entity_id;
+      foreach ($entities as $entity) {
+        $tags[$this->entityType][$entity->id()] = $entity->id();
+        $tags[$this->entityType . '_view_' . $entity->bundle()] = TRUE;
       }
       \Drupal::cache($this->cacheBin)->deleteTags($tags);
     }
diff --git a/core/lib/Drupal/Core/Entity/EntityRenderControllerInterface.php b/core/lib/Drupal/Core/Entity/EntityRenderControllerInterface.php
index a112fc2..2999944 100644
--- a/core/lib/Drupal/Core/Entity/EntityRenderControllerInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityRenderControllerInterface.php
@@ -79,10 +79,9 @@ public function viewMultiple(array $entities = array(), $view_mode = 'full', $la
   /**
    * Resets the entity render cache.
    *
-   * @param array|null $ids
-   *   (optional) If specified, the cache is reset for the given entity IDs
-   *   only.
+   * @param array|null $entities
+   *   (optional) If specified, the cache is reset for the given entities  only.
    */
-  public function resetCache(array $ids = NULL);
+  public function resetCache(array $entities = NULL);
 
 }
