diff --git a/src/ModerationInformation.php b/src/ModerationInformation.php
index de248a0..47070cb 100644
--- a/src/ModerationInformation.php
+++ b/src/ModerationInformation.php
@@ -178,11 +178,18 @@ class ModerationInformation implements ModerationInformationInterface {
   }
 
   /**
-   * {@inheritdoc}
+   * Checks if the entity has a revision under moderation which differs from the
+   * default one. This happens when the entity is published and someone created
+   * a new draft.
    */
   public function hasForwardRevision(ContentEntityInterface $entity) {
-    return $this->isModeratableEntity($entity)
-      && !($this->getLatestRevisionId($entity->getEntityTypeId(), $entity->id()) == $this->getDefaultRevisionId($entity->getEntityTypeId(), $entity->id()));
+    if (!$this->isModeratableEntity($entity)) {
+      return FALSE;
+    }
+
+    // If the entity has just been deleted, then we won't get a revision.
+    $latest_revision_id = $this->getLatestRevisionId($entity->getEntityTypeId(), $entity->id());
+    return $latest_revision_id && !($latest_revision_id == $this->getDefaultRevisionId($entity->getEntityTypeId(), $entity->id()));
   }
 
   /**
diff --git a/src/Tests/ModerationStateNodeTest.php b/src/Tests/ModerationStateNodeTest.php
index 7d0ba25..5991660 100644
--- a/src/Tests/ModerationStateNodeTest.php
+++ b/src/Tests/ModerationStateNodeTest.php
@@ -10,7 +10,7 @@ namespace Drupal\workbench_moderation\Tests;
 use Drupal\Core\Url;
 
 /**
- * Tests general content moderation workflow for nodes..
+ * Tests general content moderation workflow for nodes.
  *
  * @group workbench_moderation
  */
@@ -31,7 +31,7 @@ class ModerationStateNodeTest extends ModerationStateTestBase {
   }
 
   /**
-   * Tests creating content.
+   * Tests creating and deleting content.
    */
   public function testCreatingContent() {
     $this->drupalPostForm('node/add/moderated_content', [
@@ -62,6 +62,10 @@ class ModerationStateNodeTest extends ModerationStateTestBase {
 
     // Verify that the state field is not shown.
     $this->assertNoText('Published');
+
+    // Delete the node.
+    $this->drupalPostForm('node/' . $node->id() . '/delete', array(), t('Delete'));
+    $this->assertText(t('The Moderated content moderated content has been deleted.'));
   }
 
   /**
diff --git a/src/Tests/ModerationStateTestBase.php b/src/Tests/ModerationStateTestBase.php
index 89a127f..5c3e253 100644
--- a/src/Tests/ModerationStateTestBase.php
+++ b/src/Tests/ModerationStateTestBase.php
@@ -123,6 +123,7 @@ abstract class ModerationStateTestBase extends WebTestBase {
     $role = Role::load($role_id);
     $role->grantPermission(sprintf('create %s content', $content_type_id));
     $role->grantPermission(sprintf('edit any %s content', $content_type_id));
+    $role->grantPermission(sprintf('delete any %s content', $content_type_id));
     $role->save();
   }
 
