diff --git a/includes/entity.inc b/includes/entity.inc
index e80ce3b89f..a6e3a6b686 100644
--- a/includes/entity.inc
+++ b/includes/entity.inc
@@ -199,6 +199,15 @@ class DrupalDefaultEntityController implements DrupalEntityControllerInterface {
         ->fetchAllAssoc($this->idKey);
     }
 
+    // Add an early static cache so the entity will be available to any code
+    // that needs to load the entity during the attachLoad() step.
+    if ($this->cache) {
+      // Add entities to the cache if we are not loading a revision.
+      if (!empty($queried_entities) && !$revision_id) {
+        $this->cacheSet($queried_entities);
+      }
+    }
+
     // Pass all entities loaded from the database through $this->attachLoad(),
     // which attaches fields (if supported by the entity type) and calls the
     // entity type specific load callback, for example hook_node_load().
