diff --git a/core/lib/Drupal/Core/Cache/ChainedFastBackend.php b/core/lib/Drupal/Core/Cache/ChainedFastBackend.php
index 5c0750d..d2fcd2a 100644
--- a/core/lib/Drupal/Core/Cache/ChainedFastBackend.php
+++ b/core/lib/Drupal/Core/Cache/ChainedFastBackend.php
@@ -79,6 +79,13 @@ class ChainedFastBackend implements CacheBackendInterface, CacheTagsInvalidatorI
   protected $lastWriteTimestamp;
 
   /**
+   * Stores whether the chained fast backend configuration was wrong.
+   *
+   * @var bool
+   */
+  protected $brokenConfiguration = FALSE;
+
+  /**
    * Constructs a ChainedFastBackend object.
    *
    * @param \Drupal\Core\Cache\CacheBackendInterface $consistent_backend
@@ -94,8 +101,7 @@ class ChainedFastBackend implements CacheBackendInterface, CacheTagsInvalidatorI
    */
   public function __construct(CacheBackendInterface $consistent_backend, CacheBackendInterface $fast_backend, $bin) {
     if ($consistent_backend == $fast_backend) {
-      // @todo: should throw a proper exception. See https://www.drupal.org/node/2751847.
-      trigger_error('Consistent cache backend and fast cache backend cannot use the same service.', E_USER_ERROR);
+      $this->brokenConfiguration = TRUE;
     }
     $this->consistentBackend = $consistent_backend;
     $this->fastBackend = $fast_backend;
@@ -116,6 +122,10 @@ public function get($cid, $allow_invalid = FALSE) {
    * {@inheritdoc}
    */
   public function getMultiple(&$cids, $allow_invalid = FALSE) {
+    if ($this->brokenConfiguration) {
+      return [];
+    }
+
     $cids_copy = $cids;
     $cache = array();
 
@@ -185,6 +195,10 @@ public function getMultiple(&$cids, $allow_invalid = FALSE) {
    * {@inheritdoc}
    */
   public function set($cid, $data, $expire = Cache::PERMANENT, array $tags = array()) {
+    if ($this->brokenConfiguration) {
+      return;
+    }
+
     $this->consistentBackend->set($cid, $data, $expire, $tags);
     $this->markAsOutdated();
     // Don't write the cache tags to the fast backend as any cache tag
@@ -196,6 +210,10 @@ public function set($cid, $data, $expire = Cache::PERMANENT, array $tags = array
    * {@inheritdoc}
    */
   public function setMultiple(array $items) {
+    if ($this->brokenConfiguration) {
+      return;
+    }
+
     $this->consistentBackend->setMultiple($items);
     $this->markAsOutdated();
     // Don't write the cache tags to the fast backend as any cache tag
@@ -315,4 +333,14 @@ protected function markAsOutdated() {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function __destruct() {
+    if ($this->brokenConfiguration) {
+      // @todo: should throw a proper exception. See https://www.drupal.org/node/2751847.
+      trigger_error('Consistent cache backend and fast cache backend cannot use the same service.', E_USER_ERROR);
+    }
+  }
+
 }
