diff --git a/core/lib/Drupal/Core/Entity/EntityStorageBase.php b/core/lib/Drupal/Core/Entity/EntityStorageBase.php
index 55d5317..f26566d 100644
--- a/core/lib/Drupal/Core/Entity/EntityStorageBase.php
+++ b/core/lib/Drupal/Core/Entity/EntityStorageBase.php
@@ -301,16 +301,16 @@ public function loadMultiple(array $ids = NULL) {
   protected function postLoad(array &$entities) {
     $entity_class = $this->entityClass;
     $entity_class::postLoad($this, $entities);
-    // Call hook_entity_load().
-    foreach ($this->moduleHandler()->getImplementations('entity_load') as $module) {
-      $function = $module . '_entity_load';
-      $function($entities, $this->entityTypeId);
-    }
     // Call hook_TYPE_load().
     foreach ($this->moduleHandler()->getImplementations($this->entityTypeId . '_load') as $module) {
       $function = $module . '_' . $this->entityTypeId . '_load';
       $function($entities);
     }
+    // Call hook_entity_load().
+    foreach ($this->moduleHandler()->getImplementations('entity_load') as $module) {
+      $function = $module . '_entity_load';
+      $function($entities, $this->entityTypeId);
+    }
   }
 
   /**
diff --git a/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php b/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
index 0e62fce..8721177 100644
--- a/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
+++ b/core/modules/system/src/Tests/Entity/EntityCrudHookTest.php
@@ -110,8 +110,8 @@ public function testBlockHooks() {
     $entity = Block::load($entity->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type block',
       'entity_crud_hook_test_block_load called',
+      'entity_crud_hook_test_entity_load called for type block',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -195,8 +195,8 @@ public function testCommentHooks() {
     $comment = Comment::load($comment->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type comment',
       'entity_crud_hook_test_comment_load called',
+      'entity_crud_hook_test_entity_load called for type comment',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -260,8 +260,8 @@ public function testFileHooks() {
     $file = file_load($file->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type file',
       'entity_crud_hook_test_file_load called',
+      'entity_crud_hook_test_entity_load called for type file',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -323,8 +323,8 @@ public function testNodeHooks() {
     $node = Node::load($node->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type node',
       'entity_crud_hook_test_node_load called',
+      'entity_crud_hook_test_entity_load called for type node',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -392,8 +392,8 @@ public function testTaxonomyTermHooks() {
     $term = Term::load($term->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type taxonomy_term',
       'entity_crud_hook_test_taxonomy_term_load called',
+      'entity_crud_hook_test_entity_load called for type taxonomy_term',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -451,8 +451,8 @@ public function testTaxonomyVocabularyHooks() {
     $vocabulary = Vocabulary::load($vocabulary->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type taxonomy_vocabulary',
       'entity_crud_hook_test_taxonomy_vocabulary_load called',
+      'entity_crud_hook_test_entity_load called for type taxonomy_vocabulary',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
@@ -508,8 +508,8 @@ public function testUserHooks() {
     User::load($account->id());
 
     $this->assertHookMessageOrder(array(
-      'entity_crud_hook_test_entity_load called for type user',
       'entity_crud_hook_test_user_load called',
+      'entity_crud_hook_test_entity_load called for type user',
     ));
 
     $GLOBALS['entity_crud_hook_test'] = array();
diff --git a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
index 0266229..6a69530 100644
--- a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
@@ -296,11 +296,11 @@ public function testSaveUpdate(EntityInterface $entity) {
 
     $this->moduleHandler->expects($this->at(0))
       ->method('getImplementations')
-      ->with('entity_load')
+      ->with('test_entity_type_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(1))
       ->method('getImplementations')
-      ->with('test_entity_type_load')
+      ->with('entity_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(2))
       ->method('invokeAll')
@@ -371,11 +371,11 @@ public function testSaveRenameConfigEntity(ConfigEntityInterface $entity) {
 
     $this->moduleHandler->expects($this->at(0))
       ->method('getImplementations')
-      ->with('entity_load')
+      ->with('test_entity_type_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(1))
       ->method('getImplementations')
-      ->with('test_entity_type_load')
+      ->with('entity_load')
       ->will($this->returnValue(array()));
     $expected = array('id' => 'foo');
     $entity->expects($this->once())
@@ -500,11 +500,11 @@ public function testLoad() {
       ->will($this->returnValue(array(array('id' => 'foo'))));
     $this->moduleHandler->expects($this->at(0))
       ->method('getImplementations')
-      ->with('entity_load')
+      ->with('test_entity_type_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(1))
       ->method('getImplementations')
-      ->with('test_entity_type_load')
+      ->with('entity_load')
       ->will($this->returnValue(array()));
     $entity = $this->entityStorage->load('foo');
     $this->assertInstanceOf('Drupal\Core\Entity\EntityInterface', $entity);
@@ -548,11 +548,11 @@ public function testLoadMultipleAll() {
       ->will($this->returnValue(array(array('id' => 'foo'), array('id' => 'bar'))));
     $this->moduleHandler->expects($this->at(0))
       ->method('getImplementations')
-      ->with('entity_load')
+      ->with('test_entity_type_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(1))
       ->method('getImplementations')
-      ->with('test_entity_type_load')
+      ->with('entity_load')
       ->will($this->returnValue(array()));
     $entities = $this->entityStorage->loadMultiple();
     foreach ($entities as $id => $entity) {
@@ -582,11 +582,11 @@ public function testLoadMultipleIds() {
       ->will($this->returnValue(array(array('id' => 'foo'))));
     $this->moduleHandler->expects($this->at(0))
       ->method('getImplementations')
-      ->with('entity_load')
+      ->with('test_entity_type_load')
       ->will($this->returnValue(array()));
     $this->moduleHandler->expects($this->at(1))
       ->method('getImplementations')
-      ->with('test_entity_type_load')
+      ->with('entity_load')
       ->will($this->returnValue(array()));
     $entities = $this->entityStorage->loadMultiple(array('foo'));
     foreach ($entities as $id => $entity) {
