diff --git a/core/includes/entity.inc b/core/includes/entity.inc
index 3025433..77ffd88 100644
--- a/core/includes/entity.inc
+++ b/core/includes/entity.inc
@@ -109,8 +109,8 @@ function entity_load($entity_type, $id, $reset = FALSE) {
  * @param int $revision_id
  *   The id of the entity to load.
  *
- * @return \Drupal\Core\Entity\EntityInterface
- *   The entity object, or FALSE if there is no entity with the given revision
+ * @return \Drupal\Core\Entity\EntityInterface|null
+ *   The entity object, or NULL if there is no entity with the given revision
  *   id.
  *
  * @see \Drupal\Core\Entity\EntityManagerInterface
diff --git a/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php b/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php
index 57e4243..3d9dc70 100644
--- a/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php
+++ b/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php
@@ -116,10 +116,10 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
   }
 
   /**
-   * Implements Drupal\Core\Entity\EntityStorageInterface::loadRevision().
+   * {@inheritdoc}
    */
   public function loadRevision($revision_id) {
-    return FALSE;
+    return NULL;
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php
index 2e29857..c99e548 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityDatabaseStorage.php
@@ -476,7 +476,7 @@ protected function attachPropertyData(array &$entities) {
   }
 
   /**
-   * Implements \Drupal\Core\Entity\EntityStorageInterface::loadRevision().
+   * {@inheritdoc}
    */
   public function loadRevision($revision_id) {
     // Build and execute the query.
@@ -487,7 +487,10 @@ public function loadRevision($revision_id) {
       // Convert the raw records to entity objects.
       $entities = $this->mapFromStorageRecords($records);
       $this->postLoad($entities);
-      return reset($entities);
+      $entity = reset($entities);
+      if ($entity) {
+        return $entity;
+      }
     }
   }
 
diff --git a/core/lib/Drupal/Core/Entity/EntityDatabaseStorage.php b/core/lib/Drupal/Core/Entity/EntityDatabaseStorage.php
index 4566515..939cccc 100644
--- a/core/lib/Drupal/Core/Entity/EntityDatabaseStorage.php
+++ b/core/lib/Drupal/Core/Entity/EntityDatabaseStorage.php
@@ -87,7 +87,7 @@ protected function doLoadMultiple(array $ids = NULL) {
    * {@inheritdoc}
    */
   public function loadRevision($revision_id) {
-    throw new \Exception('Database storage does not support revisions.');
+    return NULL;
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityStorageInterface.php b/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
index 0406a5e..78a914a 100644
--- a/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityStorageInterface.php
@@ -81,8 +81,8 @@ public function loadUnchanged($id);
    * @param int $revision_id
    *   The revision id.
    *
-   * @return \Drupal\Core\Entity\EntityInterface|false
-   *   The specified entity revision or FALSE if not found.
+   * @return \Drupal\Core\Entity\EntityInterface|null
+   *   The specified entity revision or NULL if not found.
    */
   public function loadRevision($revision_id);
 
diff --git a/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php b/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
index 442162c..1caa2e4 100644
--- a/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
+++ b/core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php
@@ -133,7 +133,7 @@ public function doLoadMultiple(array $ids = NULL) {
    * {@inheritdoc}
    */
   public function loadRevision($revision_id) {
-    return FALSE;
+    return NULL;
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
index 12c4823..0562b9c 100644
--- a/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php
@@ -707,7 +707,7 @@ public function testLoadMultipleIds() {
    * @covers ::loadRevision()
    */
   public function testLoadRevision() {
-    $this->assertSame(FALSE, $this->entityStorage->loadRevision(1));
+    $this->assertSame(NULL, $this->entityStorage->loadRevision(1));
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
index bc21d8a..8171cf8 100644
--- a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
@@ -608,7 +608,7 @@ public function testLoadMultipleIds() {
   public function testLoadRevision() {
     $this->setUpKeyValueEntityStorage();
 
-    $this->assertSame(FALSE, $this->entityStorage->loadRevision(1));
+    $this->assertSame(NULL, $this->entityStorage->loadRevision(1));
   }
 
   /**
