diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
index 066e8f2d59bf474bee87523e66549711e6c352fa..acfd78f422e7f0ebf9332a1db3ab2062ab7921a8 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
@@ -157,9 +157,7 @@ public static function postDelete(EntityStorageControllerInterface $storage_cont
         foreach ($children as $child) {
           // If the term has multiple parents, we don't delete it.
           $parents = taxonomy_term_load_parents($child->id());
-          // Because the parent has already been deleted, the parent count might
-          // be 0.
-          if (count($parents) <= 1) {
+          if (empty($parents)) {
             $orphans[] = $child->id();
           }
         }
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermUnitTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermUnitTest.php
index 4a81f0550794359ff4624a23a8673d3c1164a916..83132c36cbf36b62fcde6b15726baf75e7dbce02 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermUnitTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermUnitTest.php
@@ -32,6 +32,27 @@ function testTermDelete() {
     entity_delete_multiple('taxonomy_term', array(42));
   }
 
+  /**
+   * Deleting a parent of a term with multiple parents does not delete the term.
+   */
+  function testMultipleParentDelete() {
+    $vocabulary = $this->createVocabulary();
+    $parent_term1 = $this->createTerm($vocabulary);
+    $parent_term2 = $this->createTerm($vocabulary);
+    $child_term = $this->createTerm($vocabulary);
+    $child_term->parent = array($parent_term1->id(), $parent_term2->id());
+    $child_term->save();
+    $child_term_id = $child_term->id();
+
+    $parent_term1->delete();
+    $child_term = entity_load('taxonomy_term', $child_term_id, TRUE);
+    $this->assertTrue(!empty($child_term), 'Child term is not deleted if only one of its parents is removed.');
+
+    $parent_term2->delete();
+    $child_term = entity_load('taxonomy_term', $child_term_id, TRUE);
+    $this->assertTrue(empty($child_term), 'Child term is deleted if all of its parents are removed.');
+  }
+
   /**
    * Test a taxonomy with terms that have multiple parents of different depths.
    */