diff --git a/core/lib/Drupal/Core/Cache/BackendChain.php b/core/lib/Drupal/Core/Cache/BackendChain.php
index f7681d9..c752500 100644
--- a/core/lib/Drupal/Core/Cache/BackendChain.php
+++ b/core/lib/Drupal/Core/Cache/BackendChain.php
@@ -223,4 +223,15 @@ public function removeBin() {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function reset() {
+    foreach ($this->backends as $backend) {
+      if ($backend instanceof CacheTagsInvalidatorInterface) {
+        $backend->reset();
+      }
+    }
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php b/core/lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php
index c9e3ff0..af31232 100644
--- a/core/lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php
+++ b/core/lib/Drupal/Core/Cache/CacheTagsChecksumInterface.php
@@ -53,10 +53,4 @@ public function getCurrentChecksum(array $tags);
    */
   public function isValid($checksum, array $tags);
 
-  /**
-   * Reset statically cached tags.
-   *
-   * This is only used by tests.
-   */
-  public function reset();
 }
diff --git a/core/lib/Drupal/Core/Cache/CacheTagsInvalidator.php b/core/lib/Drupal/Core/Cache/CacheTagsInvalidator.php
index 636ce77..b58c729 100644
--- a/core/lib/Drupal/Core/Cache/CacheTagsInvalidator.php
+++ b/core/lib/Drupal/Core/Cache/CacheTagsInvalidator.php
@@ -69,4 +69,16 @@ protected function getInvalidatorCacheBins() {
     return $bins;
   }
 
+  /**
+   * Reset statically cached tags.
+   *
+   * This is only used by tests.
+   */
+  public function reset() {
+    // Reset all added cache tags invalidators.
+    foreach ($this->invalidators as $invalidator) {
+      $invalidator->reset();
+    }
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php b/core/lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php
index bf63041..8bfcfa1 100644
--- a/core/lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php
+++ b/core/lib/Drupal/Core/Cache/CacheTagsInvalidatorInterface.php
@@ -26,4 +26,11 @@
    */
   public function invalidateTags(array $tags);
 
+  /**
+   * Reset statically cached tags.
+   *
+   * This is only used by tests.
+   */
+  public function reset();
+
 }
diff --git a/core/lib/Drupal/Core/Cache/MemoryBackend.php b/core/lib/Drupal/Core/Cache/MemoryBackend.php
index 041330b..fdf2e35 100644
--- a/core/lib/Drupal/Core/Cache/MemoryBackend.php
+++ b/core/lib/Drupal/Core/Cache/MemoryBackend.php
@@ -201,4 +201,10 @@ public function removeBin() {
     $this->cache = [];
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function reset() {
+    // Nothing to do; there are no statically cached tags.
+  }
 }
diff --git a/core/modules/simpletest/src/WebTestBase.php b/core/modules/simpletest/src/WebTestBase.php
index 926738f..de52c14 100644
--- a/core/modules/simpletest/src/WebTestBase.php
+++ b/core/modules/simpletest/src/WebTestBase.php
@@ -1193,7 +1193,7 @@ protected function resetAll() {
    */
   protected function refreshVariables() {
     // Clear the tag cache.
-    \Drupal::service('cache_tags.invalidator.checksum')->reset();
+    \Drupal::service('cache_tags.invalidator')->reset();
     foreach (Cache::getBins() as $backend) {
       if (is_callable(array($backend, 'reset'))) {
         $backend->reset();
