diff --git a/core/modules/filter/src/Tests/FilterAPITest.php b/core/modules/filter/src/Tests/FilterAPITest.php
index 588546e..10f9834 100644
--- a/core/modules/filter/src/Tests/FilterAPITest.php
+++ b/core/modules/filter/src/Tests/FilterAPITest.php
@@ -386,4 +386,27 @@ public function assertFilterFormatViolation(ConstraintViolationListInterface $vi
     }
     $this->assertTrue($filter_format_violation_found, format_string('Validation violation for invalid value "%invalid_value" found', array('%invalid_value' => $invalid_value)));
   }
+
+  /**
+   * Tests that dependency removal works.
+   *
+   * Uninstalling a module that provides a filter should not remove a filter
+   * format that uses the filter.
+   */
+  public function testDependencyRemoval() {
+    $this->installSchema('user', array('users_data'));
+    $filter_format = \Drupal\filter\Entity\FilterFormat::load('filtered_html');
+    $filter_config = [
+      'weight' => 10,
+      'status' => 1,
+    ];
+    $filter_format->setFilterConfig('filter_test_restrict_tags_and_attributes', $filter_config);
+    $filter_format->save();
+    $this->assertEqual(['module' => ['filter_test']], $filter_format->getDependencies());
+    \Drupal::moduleHandler()->uninstall(array('filter_test'));
+
+    \Drupal::entityManager()->getStorage('filter_format')->resetCache();
+    $filter_format = \Drupal\filter\Entity\FilterFormat::load('filtered_html');
+    $this->assertEqual([], $filter_format->getDependencies());
+  }
 }
