diff --git a/core/lib/Drupal/Core/Action/ConfigurableActionBase.php b/core/lib/Drupal/Core/Action/ConfigurableActionBase.php
index 9a398b6..5eab50a 100644
--- a/core/lib/Drupal/Core/Action/ConfigurableActionBase.php
+++ b/core/lib/Drupal/Core/Action/ConfigurableActionBase.php
@@ -52,4 +52,10 @@ public function setConfiguration(array $configuration) {
   public function validateConfigurationForm(array &$form, array &$form_state) {
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array();
+  }
 }
diff --git a/core/lib/Drupal/Core/Form/ConfigFormBase.php b/core/lib/Drupal/Core/Form/ConfigFormBase.php
index 5c69835..8f4b912 100644
--- a/core/lib/Drupal/Core/Form/ConfigFormBase.php
+++ b/core/lib/Drupal/Core/Form/ConfigFormBase.php
@@ -15,7 +15,7 @@
 /**
  * Base class for implementing system configuration forms.
  */
-abstract class ConfigFormBase extends FormBase {
+abstract class ConfigFormBase extends FormBase implements ConfigFormInterface {
 
   /**
    * Stores the configuration factory.
diff --git a/core/lib/Drupal/Core/Form/ConfigFormInterface.php b/core/lib/Drupal/Core/Form/ConfigFormInterface.php
new file mode 100644
index 0000000..3e75f6f
--- /dev/null
+++ b/core/lib/Drupal/Core/Form/ConfigFormInterface.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\Form\ConfigFormInterface.
+ */
+
+namespace Drupal\Core\Form;
+
+/**
+ * Provides an interface specific for forms based on configuration.
+ */
+interface ConfigFormInterface extends FormInterface {
+
+  /**
+   * Returns an array of configuration names associated with the form.
+   *
+   * @return array
+   *   An array of configuration names
+   */
+  public function getConfigNames();
+
+}
diff --git a/core/lib/Drupal/Core/Plugin/PluginFormInterface.php b/core/lib/Drupal/Core/Plugin/PluginFormInterface.php
index e029bba..42112e2 100644
--- a/core/lib/Drupal/Core/Plugin/PluginFormInterface.php
+++ b/core/lib/Drupal/Core/Plugin/PluginFormInterface.php
@@ -50,4 +50,12 @@ public function validateConfigurationForm(array &$form, array &$form_state);
    */
   public function submitConfigurationForm(array &$form, array &$form_state);
 
+  /**
+   * Returns an array of configuration names associated with the form.
+   *
+   * @return array
+   *   An array of configuration names
+   */
+  public function getConfigNames();
+
 }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php b/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
index 85e96e0..4423ad4 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
@@ -100,6 +100,41 @@ public function getFormID() {
   }
 
   /**
+   * Collect configurable instances of this form's plugins.
+   */
+  protected function collectConfigurableInstances() {
+    $config = $this->configFactory->get('aggregator.settings');
+
+    // Parse fetchers and parsers and collect their PluginFormInterface
+    // instances.
+    foreach (array('fetcher', 'parser') as $type) {
+      $active = $config->get($type);
+      if (array_key_exists($active, $this->definitions[$type])) {
+        $instance = $this->managers[$type]->createInstance($active);
+        if ($instance instanceof PluginFormInterface) {
+          // Store the instance for validate and submit handlers.
+          // Keying by ID would bring conflicts, because two instances of a
+          // different type could have the same ID.
+          $this->configurableInstances[] = $instance;
+        }
+      }
+    }
+
+    // Parse processors and collect their PluginFormInterface instances.
+    foreach ($this->definitions['processor'] as $id => $definition) {
+      if (in_array($id, $config->get('processors'))) {
+        $instance = $this->managers['processor']->createInstance($id);
+        if ($instance instanceof PluginFormInterface) {
+          // Store the instance for validate and submit handlers.
+          // Keying by ID would bring conflicts, because two instances of a
+          // different type could have the same ID.
+          $this->configurableInstances[] = $instance;
+        }
+      }
+    }
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function buildForm(array $form, array &$form_state) {
@@ -154,35 +189,11 @@ public function buildForm(array $form, array &$form_state) {
       $form['basic_conf'] += $basic_conf;
     }
 
-    // Call buildConfigurationForm() on the active fetcher and parser.
-    foreach (array('fetcher', 'parser') as $type) {
-      $active = $config->get($type);
-      if (array_key_exists($active, $this->definitions[$type])) {
-        $instance = $this->managers[$type]->createInstance($active);
-        if ($instance instanceof PluginFormInterface) {
-          $form = $instance->buildConfigurationForm($form, $form_state);
-          // Store the instance for validate and submit handlers.
-          // Keying by ID would bring conflicts, because two instances of a
-          // different type could have the same ID.
-          $this->configurableInstances[] = $instance;
-        }
-      }
-    }
+    $this->collectConfigurableInstances();
 
-    // Implementing processor plugins will expect an array at $form['processors'].
-    $form['processors'] = array();
-    // Call buildConfigurationForm() for each active processor.
-    foreach ($this->definitions['processor'] as $id => $definition) {
-      if (in_array($id, $config->get('processors'))) {
-        $instance = $this->managers['processor']->createInstance($id);
-        if ($instance instanceof PluginFormInterface) {
-          $form = $instance->buildConfigurationForm($form, $form_state);
-          // Store the instance for validate and submit handlers.
-          // Keying by ID would bring conflicts, because two instances of a
-          // different type could have the same ID.
-          $this->configurableInstances[] = $instance;
-        }
-      }
+    foreach ($this->configurableInstances as $instance) {
+      // @todo This may fail if $form['processors'] is missing for DefaultProcessor::buildConfigurationForm().
+      $form = $instance->buildConfigurationForm($form, $form_state);
     }
 
     return parent::buildForm($form, $form_state);
@@ -223,4 +234,19 @@ public function submitForm(array &$form, array &$form_state) {
     $config->save();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    $configNames = array('aggregator.settings');
+
+    $this->collectConfigurableInstances();
+
+    foreach ($this->configurableInstances as $instance) {
+      $configNames[] = $instance->getConfigNames();
+    }
+
+    return $configNames;
+  }
+
 }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/AggregatorPluginSettingsBase.php b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/AggregatorPluginSettingsBase.php
index 9ca7c79..288e3c6 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/AggregatorPluginSettingsBase.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/AggregatorPluginSettingsBase.php
@@ -29,4 +29,10 @@ public function defaultConfiguration() {
   public function validateConfigurationForm(array &$form, array &$form_state) {
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array();
+  }
 }
diff --git a/core/modules/block/lib/Drupal/block/BlockBase.php b/core/modules/block/lib/Drupal/block/BlockBase.php
index 579e841..9894263 100644
--- a/core/modules/block/lib/Drupal/block/BlockBase.php
+++ b/core/modules/block/lib/Drupal/block/BlockBase.php
@@ -182,4 +182,11 @@ public function getMachineNameSuggestion() {
     return $transliterated;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array();
+  }
+
 }
diff --git a/core/modules/book/lib/Drupal/book/Form/BookSettingsForm.php b/core/modules/book/lib/Drupal/book/Form/BookSettingsForm.php
index e5c48b1..7643c57 100644
--- a/core/modules/book/lib/Drupal/book/Form/BookSettingsForm.php
+++ b/core/modules/book/lib/Drupal/book/Form/BookSettingsForm.php
@@ -77,5 +77,12 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('book.settings');
+  }
+
 }
 
diff --git a/core/modules/forum/lib/Drupal/forum/ForumSettingsForm.php b/core/modules/forum/lib/Drupal/forum/ForumSettingsForm.php
index 9fe4931..d7ace97 100644
--- a/core/modules/forum/lib/Drupal/forum/ForumSettingsForm.php
+++ b/core/modules/forum/lib/Drupal/forum/ForumSettingsForm.php
@@ -73,4 +73,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('forum.settings');
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/ContentLanguageSettingsForm.php b/core/modules/language/lib/Drupal/language/Form/ContentLanguageSettingsForm.php
index f4d7c54..e194c32 100644
--- a/core/modules/language/lib/Drupal/language/Form/ContentLanguageSettingsForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/ContentLanguageSettingsForm.php
@@ -179,4 +179,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('language.settings');
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
index b801b2b..09cec08 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
@@ -197,4 +197,11 @@ protected function language_get_browser_drupal_langcode_mappings() {
     return $config->get();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('language.mappings');
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationSelectedForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationSelectedForm.php
index 4271861..57e287c 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationSelectedForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationSelectedForm.php
@@ -48,4 +48,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('language.negotiation');
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationSessionForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationSessionForm.php
index 1c73492..54f2350 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationSessionForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationSessionForm.php
@@ -49,4 +49,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('language.settings');
+  }
+
 }
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationUrlForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationUrlForm.php
index 6855a24..8898076 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationUrlForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationUrlForm.php
@@ -171,4 +171,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('language.negotiation');
+  }
+
 }
diff --git a/core/modules/locale/lib/Drupal/locale/Form/LocaleSettingsForm.php b/core/modules/locale/lib/Drupal/locale/Form/LocaleSettingsForm.php
index 2791646..1f80726 100644
--- a/core/modules/locale/lib/Drupal/locale/Form/LocaleSettingsForm.php
+++ b/core/modules/locale/lib/Drupal/locale/Form/LocaleSettingsForm.php
@@ -139,4 +139,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('locale.settings');
+  }
+
 }
diff --git a/core/modules/menu/lib/Drupal/menu/MenuSettingsForm.php b/core/modules/menu/lib/Drupal/menu/MenuSettingsForm.php
index a354184..16998b3 100644
--- a/core/modules/menu/lib/Drupal/menu/MenuSettingsForm.php
+++ b/core/modules/menu/lib/Drupal/menu/MenuSettingsForm.php
@@ -69,4 +69,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('menu.settings');
+  }
+
 }
diff --git a/core/modules/search/lib/Drupal/search/Form/SearchSettingsForm.php b/core/modules/search/lib/Drupal/search/Form/SearchSettingsForm.php
index bf37009..db1e1c6 100644
--- a/core/modules/search/lib/Drupal/search/Form/SearchSettingsForm.php
+++ b/core/modules/search/lib/Drupal/search/Form/SearchSettingsForm.php
@@ -265,4 +265,11 @@ public function searchAdminReindexSubmit(array $form, array &$form_state) {
     $form_state['redirect'] = 'admin/config/search/settings/reindex';
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('search.settings');
+  }
+
 }
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestSettingsForm.php b/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestSettingsForm.php
index ed65884..f2fa16b 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestSettingsForm.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestSettingsForm.php
@@ -118,4 +118,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('simpletest.settings');
+  }
+
 }
diff --git a/core/modules/statistics/lib/Drupal/statistics/StatisticsSettingsForm.php b/core/modules/statistics/lib/Drupal/statistics/StatisticsSettingsForm.php
index 437946f..7722996 100644
--- a/core/modules/statistics/lib/Drupal/statistics/StatisticsSettingsForm.php
+++ b/core/modules/statistics/lib/Drupal/statistics/StatisticsSettingsForm.php
@@ -96,4 +96,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('statistics.settings');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/CronForm.php b/core/modules/system/lib/Drupal/system/Form/CronForm.php
index 12802e4..a79f74b 100644
--- a/core/modules/system/lib/Drupal/system/Form/CronForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/CronForm.php
@@ -124,4 +124,11 @@ public function submitCron(array &$form, array &$form_state) {
     return new RedirectResponse(url('admin/config/system/cron', array('absolute' => TRUE)));
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.cron');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/FileSystemForm.php b/core/modules/system/lib/Drupal/system/Form/FileSystemForm.php
index 100c921..e891306 100644
--- a/core/modules/system/lib/Drupal/system/Form/FileSystemForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/FileSystemForm.php
@@ -87,4 +87,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.file');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/ImageToolkitForm.php b/core/modules/system/lib/Drupal/system/Form/ImageToolkitForm.php
index dcdb2cc..63931eb 100644
--- a/core/modules/system/lib/Drupal/system/Form/ImageToolkitForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ImageToolkitForm.php
@@ -109,4 +109,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.image');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/LoggingForm.php b/core/modules/system/lib/Drupal/system/Form/LoggingForm.php
index f4860cf..8140dc5 100644
--- a/core/modules/system/lib/Drupal/system/Form/LoggingForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/LoggingForm.php
@@ -53,4 +53,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.logging');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/PerformanceForm.php b/core/modules/system/lib/Drupal/system/Form/PerformanceForm.php
index 8ae0382..d663b5b 100644
--- a/core/modules/system/lib/Drupal/system/Form/PerformanceForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/PerformanceForm.php
@@ -169,4 +169,11 @@ public function submitCacheClear(array &$form, array &$form_state) {
     drupal_set_message(t('Caches cleared.'));
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.performance');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/RegionalForm.php b/core/modules/system/lib/Drupal/system/Form/RegionalForm.php
index 569a5c6..d013bfe 100644
--- a/core/modules/system/lib/Drupal/system/Form/RegionalForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/RegionalForm.php
@@ -156,4 +156,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.date');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/RssFeedsForm.php b/core/modules/system/lib/Drupal/system/Form/RssFeedsForm.php
index b3ef82b..445cf15 100644
--- a/core/modules/system/lib/Drupal/system/Form/RssFeedsForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/RssFeedsForm.php
@@ -67,4 +67,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.rss');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php b/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
index 1b5029b..38ebeb9 100644
--- a/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
@@ -181,4 +181,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.site');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/SiteMaintenanceModeForm.php b/core/modules/system/lib/Drupal/system/Form/SiteMaintenanceModeForm.php
index 131af5b..c28a023 100644
--- a/core/modules/system/lib/Drupal/system/Form/SiteMaintenanceModeForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/SiteMaintenanceModeForm.php
@@ -89,4 +89,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('system.maintenance');
+  }
+
 }
diff --git a/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php b/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
index 44b34fe..23a419b 100644
--- a/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
@@ -454,4 +454,18 @@ protected function validatePath($path) {
     return FALSE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    $configNames = array('system.theme.global');
+
+    $themes = list_themes();
+    foreach ($themes as $theme_name => $theme) {
+      $configNames[] = $theme_name . '.settings';
+    }
+
+    return $configNames;
+  }
+
 }
diff --git a/core/modules/system/tests/modules/form_test/lib/Drupal/form_test/SystemConfigFormTestForm.php b/core/modules/system/tests/modules/form_test/lib/Drupal/form_test/SystemConfigFormTestForm.php
index 9330682..30a891d 100644
--- a/core/modules/system/tests/modules/form_test/lib/Drupal/form_test/SystemConfigFormTestForm.php
+++ b/core/modules/system/tests/modules/form_test/lib/Drupal/form_test/SystemConfigFormTestForm.php
@@ -21,4 +21,11 @@ public function getFormID() {
     return 'form_test_system_config_test_form';
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array();
+  }
+
 }
diff --git a/core/modules/update/lib/Drupal/update/UpdateSettingsForm.php b/core/modules/update/lib/Drupal/update/UpdateSettingsForm.php
index d2f80d1..7a92eae 100644
--- a/core/modules/update/lib/Drupal/update/UpdateSettingsForm.php
+++ b/core/modules/update/lib/Drupal/update/UpdateSettingsForm.php
@@ -121,4 +121,11 @@ public function submitForm(array &$form, array &$form_state) {
     parent::submitForm($form, $form_state);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('update.settings');
+  }
+
 }
diff --git a/core/modules/user/lib/Drupal/user/AccountSettingsForm.php b/core/modules/user/lib/Drupal/user/AccountSettingsForm.php
index e8077d3..ad363a8 100644
--- a/core/modules/user/lib/Drupal/user/AccountSettingsForm.php
+++ b/core/modules/user/lib/Drupal/user/AccountSettingsForm.php
@@ -445,4 +445,11 @@ public function submitForm(array &$form, array &$form_state) {
       ->save();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('user.settings','user.mail','system.site');
+  }
+
 }
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Form/AdvancedSettingsForm.php b/core/modules/views_ui/lib/Drupal/views_ui/Form/AdvancedSettingsForm.php
index fd77d5e..5fd7506 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/Form/AdvancedSettingsForm.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/Form/AdvancedSettingsForm.php
@@ -103,4 +103,11 @@ public function cacheSubmit() {
     drupal_set_message($this->t('The cache has been cleared.'));
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('views.settings');
+  }
+
 }
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Form/BasicSettingsForm.php b/core/modules/views_ui/lib/Drupal/views_ui/Form/BasicSettingsForm.php
index d1206d5..dfc83ca 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/Form/BasicSettingsForm.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/Form/BasicSettingsForm.php
@@ -142,4 +142,11 @@ public function submitForm(array &$form, array &$form_state) {
       ->save();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfigNames() {
+    return array('views.settings');
+  }
+
 }
