diff --git a/src/Plugin/Field/FieldType/EntityReferenceRevisionsItem.php b/src/Plugin/Field/FieldType/EntityReferenceRevisionsItem.php
index 62a574f..da1e499 100644
--- a/src/Plugin/Field/FieldType/EntityReferenceRevisionsItem.php
+++ b/src/Plugin/Field/FieldType/EntityReferenceRevisionsItem.php
@@ -324,7 +324,19 @@ class EntityReferenceRevisionsItem extends EntityReferenceItem implements Option
     if ($this->entity && $this->entity->getEntityType()->get('entity_revision_parent_type_field') && $this->entity->getEntityType()->get('entity_revision_parent_id_field')) {
       $this->entity->delete();
     }
-}
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function deleteRevision() {
+    if ($this->entity && $this->entity->getEntityType()->get('entity_revision_parent_type_field') && $this->entity->getEntityType()->get('entity_revision_parent_id_field')) {
+      \Drupal::entityTypeManager()->getStorage($this->entity->getEntityTypeId())->deleteRevision($this->entity->getRevisionId());
+    }
+
+    parent::deleteRevision();
+  }
+
  /**
  * {@inheritdoc}
  */
diff --git a/src/Tests/EntityReferenceRevisionsCompositeTest.php b/src/Tests/EntityReferenceRevisionsCompositeTest.php
index ac3a2a0..2d65513 100644
--- a/src/Tests/EntityReferenceRevisionsCompositeTest.php
+++ b/src/Tests/EntityReferenceRevisionsCompositeTest.php
@@ -87,6 +87,8 @@ class EntityReferenceRevisionsCompositeTest extends WebTestBase {
     $node->setNewRevision();
     $node->save();
     $node = node_load($node->id(), TRUE);
+    $second_node_revision = $node->getRevisionId();
+    $second_composite_revision = $node->composite_reference[0]->target_revision_id;
     $this->assertEqual('2nd revision', $node->getTitle(), 'New node revision has changed data.');
     $this->assertNotEqual($original_composite_revision, $node->composite_reference[0]->target_revision_id, 'Composite entity got new revision when its host did.');
 
@@ -99,6 +101,11 @@ class EntityReferenceRevisionsCompositeTest extends WebTestBase {
     $this->assertNotEqual('2nd revision', $node->getTitle(), 'Node did not keep changed title after reversion.');
     $this->assertNotEqual($original_composite_revision, $node->composite_reference[0]->target_revision_id, 'Composite entity got new revision when its host reverted to an old revision.');
 
+    // Delete 2nd revision of the node.
+    \Drupal::entityTypeManager()->getStorage('node')->deleteRevision($second_node_revision);
+    $this->assertNull(\Drupal::entityTypeManager()->getStorage('entity_test_composite')->loadRevision($second_composite_revision), 'Composite entity revision deleted with host revision.');
+    $this->assertNotNull(EntityTestCompositeRelationship::load($composite->id()), 'Composite entity still exists after deleted host revision.');
+
     // Test that the composite entity is deleted when its parent is deleted.
     $node->delete();
     $this->assertNull(EntityTestCompositeRelationship::load($composite->id()));
