diff --git a/src/Plugin/Field/FieldFormatter/EntityReferenceRevisionsFormatterBase.php b/src/Plugin/Field/FieldFormatter/EntityReferenceRevisionsFormatterBase.php
index 44af058..fa7bcbd 100644
--- a/src/Plugin/Field/FieldFormatter/EntityReferenceRevisionsFormatterBase.php
+++ b/src/Plugin/Field/FieldFormatter/EntityReferenceRevisionsFormatterBase.php
@@ -19,7 +19,15 @@ abstract class EntityReferenceRevisionsFormatterBase extends EntityReferenceForm
     // will be loaded automatically if that didn't happen yet.
     foreach ($entities_items as $items) {
       foreach ($items as $item) {
-        $item->_loaded = TRUE;
+
+        if ($this->needsEntityLoad($item)) {
+          $target_type = $this->getFieldSetting('target_type');
+          $entity = \Drupal::entityTypeManager()->getStorage($target_type)->loadRevision($item->target_revision_id);
+          if ($entity) {
+            $item->entity = $entity;
+            $item->_loaded = TRUE;
+          }
+        }
       }
     }
   }
diff --git a/tests/modules/entity_composite_relationship_test/Entity_composite_relationship_test.permissions.yml b/tests/modules/entity_composite_relationship_test/Entity_composite_relationship_test.permissions.yml
new file mode 100644
index 0000000..c9be8a0
--- /dev/null
+++ b/tests/modules/entity_composite_relationship_test/Entity_composite_relationship_test.permissions.yml
@@ -0,0 +1,2 @@
+administer entity_test composite relationship:
+  title: administer entity_test composite relationship
diff --git a/tests/modules/entity_composite_relationship_test/src/Entity/EntityTestCompositeRelationship.php b/tests/modules/entity_composite_relationship_test/src/Entity/EntityTestCompositeRelationship.php
index 665c014..7386c6e 100644
--- a/tests/modules/entity_composite_relationship_test/src/Entity/EntityTestCompositeRelationship.php
+++ b/tests/modules/entity_composite_relationship_test/src/Entity/EntityTestCompositeRelationship.php
@@ -19,6 +19,7 @@ use Drupal\entity_test\Entity\EntityTestRev;
  *   entity_revision_parent_type_field = "parent_type",
  *   entity_revision_parent_id_field = "parent_id",
  *   entity_revision_parent_field_name_field = "parent_field_name",
+ *   admin_permission = "administer entity_test composite relationship",
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/tests/src/Kernel/EntityReferenceRevisionsFormatterTest.php b/tests/src/Kernel/EntityReferenceRevisionsFormatterTest.php
new file mode 100644
index 0000000..430d06e
--- /dev/null
+++ b/tests/src/Kernel/EntityReferenceRevisionsFormatterTest.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace Drupal\Tests\entity_reference_revisions\Kernel;
+
+use Drupal\entity_composite_relationship_test\Entity\EntityTestCompositeRelationship;
+use Drupal\field\Entity\FieldConfig;
+use Drupal\field\Entity\FieldStorageConfig;
+use Drupal\KernelTests\KernelTestBase;
+use Drupal\node\Entity\Node;
+use Drupal\node\Entity\NodeType;
+use Drupal\simpletest\UserCreationTrait;
+
+/**
+ * @coversDefaultClass \Drupal\entity_reference_revisions\Plugin\Field\FieldFormatter\EntityReferenceRevisionsEntityFormatter
+ * @group entity_reference_revisions
+ */
+class EntityReferenceRevisionsFormatterTest extends KernelTestBase {
+
+  use UserCreationTrait;
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = [
+    'node',
+    'user',
+    'system',
+    'field',
+    'entity_reference_revisions',
+    'entity_composite_relationship_test',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    // Create article content type.
+    $values = ['type' => 'article', 'name' => 'Article'];
+    $node_type = NodeType::create($values);
+    $node_type->save();
+    $this->installEntitySchema('user');
+    $this->installEntitySchema('node');
+    $this->installEntitySchema('entity_test_composite');
+    $this->installSchema('system', ['sequences']);
+    $this->installSchema('node', ['node_access']);
+
+    // Add the entity_reference_revisions field to article.
+    $field_storage = FieldStorageConfig::create([
+      'field_name' => 'composite_reference',
+      'entity_type' => 'node',
+      'type' => 'entity_reference_revisions',
+      'settings' => [
+        'target_type' => 'entity_test_composite'
+      ],
+    ]);
+    $field_storage->save();
+    $field = FieldConfig::create([
+      'field_storage' => $field_storage,
+      'bundle' => 'article',
+    ]);
+    $field->save();
+
+    $user = $this->createUser(['administer entity_test composite relationship']);
+    \Drupal::currentUser()->setAccount($user);
+  }
+
+  public function testFormatterWithDeletedReference() {
+    // Create the test composite entity.
+    $text = 'Dummy text';
+    $entity_test = EntityTestCompositeRelationship::create([
+      'uuid' => $text,
+      'name' => $text,
+    ]);
+    $entity_test->save();
+
+    $text = 'Clever text';
+    // Set the name to a new text.
+    /** @var \Drupal\entity_composite_relationship_test\Entity\EntityTestCompositeRelationship $entity_test */
+    $entity_test->name = $text;
+    $entity_test->setNeedsSave(TRUE);
+
+    $node = Node::create([
+      'title' => $this->randomMachineName(),
+      'type' => 'article',
+      'composite_reference' => $entity_test,
+    ]);
+    $node->save();
+
+    // entity_reference_revisions_entity_view
+    $result = $node->composite_reference->view(['type' => 'entity_reference_revisions_entity_view']);
+    $this->setRawContent($this->render($result));
+    $this->assertText('Clever text');
+
+    // Remove the referenced entity.
+    $entity_test->delete();
+
+    $node = Node::load($node->id());
+    $result = $node->composite_reference->view(['type' => 'entity_reference_revisions_entity_view']);
+    $this->render($result);
+    $this->assertNoText('Clever text');
+  }
+
+}
