diff --git a/core/modules/filter/lib/Drupal/filter/FilterBag.php b/core/modules/filter/lib/Drupal/filter/FilterBag.php
index 599625c..cc4e493 100644
--- a/core/modules/filter/lib/Drupal/filter/FilterBag.php
+++ b/core/modules/filter/lib/Drupal/filter/FilterBag.php
@@ -69,26 +69,34 @@ protected function initializePlugin($instance_id) {
     // Filters have a 1:1 relationship to text formats and can be added and
     // instantiated at any time.
     $definition = $this->manager->getDefinition($instance_id);
+    try {
+      if (!empty($definition)) {
+        // $configuration is the whole filter plugin instance configuration, as
+        // contained in the text format configuration. The default configuration
+        // is the filter plugin definition.
+        // @todo Configuration should not be contained in definitions. Move into a
+        //   FilterBase::init() method.
+        $configuration = $definition;
+        // Merge the actual configuration into the default configuration.
 
-    if (isset($definition)) {
-      // $configuration is the whole filter plugin instance configuration, as
-      // contained in the text format configuration. The default configuration
-      // is the filter plugin definition.
-      // @todo Configuration should not be contained in definitions. Move into a
-      //   FilterBase::init() method.
-      $configuration = $definition;
-      // Merge the actual configuration into the default configuration.
+        if (isset($this->configurations[$instance_id])) {
+          $configuration = NestedArray::mergeDeep($configuration, $this->configurations[$instance_id]);
+        }
+        $this->configurations[$instance_id] = $configuration;
+        parent::initializePlugin($instance_id);
+      }  else {
+        throw new PluginException(String::format("Unknown filter plugin ID '@filter'.", array('@filter' => $instance_id)));
+      }
+    } catch (PluginException $e) {
+      drupal_set_message(t('Unknown filter plugin ID @filter', array('@filter' => $instance_id)), 'error');
+      $configuration = $this->manager->getDefinition('filter_null');
       if (isset($this->configurations[$instance_id])) {
         $configuration = NestedArray::mergeDeep($configuration, $this->configurations[$instance_id]);
       }
-      $this->configurations[$instance_id] = $configuration;
-      parent::initializePlugin($instance_id);
-    }
-    else {
-      throw new PluginException(String::format("Unknown filter plugin ID '@filter'.", array('@filter' => $instance_id)));
-    }
-  }
-
+        $this->configurations[$instance_id] = $configuration;
+        parent::initializePlugin($instance_id);
+   }
+}
   /**
    * {@inheritdoc}
    */
@@ -115,4 +123,18 @@ public function sortHelper($aID, $bID) {
     return parent::sortHelper($aID, $bID);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function current() {
+    try {
+      $return = parent::current();
+    }
+    catch (PluginException $e) {
+      $return = $this->get('filter_null');
+      $return->status = 1;
+    }
+    return $return;
+  }
+
 }
