diff --git a/core/includes/form.inc b/core/includes/form.inc
index 6956f04..f8ca923 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -873,6 +873,9 @@ function drupal_process_form($form_id, &$form, &$form_state) {
     }
 
     if ($form_state['submitted'] && !form_get_errors() && !$form_state['rebuild']) {
+      // Clean out submitted values of submit buttons and internal Form API
+      // values.
+      form_state_values_clean($form_state);
       // Execute form submit handlers.
       form_execute_handlers('submit', $form, $form_state);
 
diff --git a/core/modules/filter/filter.admin.inc b/core/modules/filter/filter.admin.inc
index 4f56856..104e335 100644
--- a/core/modules/filter/filter.admin.inc
+++ b/core/modules/filter/filter.admin.inc
@@ -357,9 +357,6 @@ function filter_admin_format_form_validate($form, &$form_state) {
  * @see filter_admin_format_form_validate()
  */
 function filter_admin_format_form_submit($form, &$form_state) {
-  // Remove unnecessary values.
-  form_state_values_clean($form_state);
-
   // Add the submitted form values to the text format, and save it.
   $format = $form['#format'];
   foreach ($form_state['values'] as $key => $value) {
diff --git a/core/modules/forum/forum.admin.inc b/core/modules/forum/forum.admin.inc
index e3c564a..429b615 100644
--- a/core/modules/forum/forum.admin.inc
+++ b/core/modules/forum/forum.admin.inc
@@ -99,7 +99,6 @@ function forum_form_submit($form, &$form_state) {
   }
 
   // @todo Set explicit entity properties instead of arbitrary form values.
-  form_state_values_clean($form_state);
   $term = entity_create('taxonomy_term', $form_state['values']);
   $status = taxonomy_term_save($term);
   switch ($status) {
diff --git a/core/modules/image/image.admin.inc b/core/modules/image/image.admin.inc
index ca55227..e764073 100644
--- a/core/modules/image/image.admin.inc
+++ b/core/modules/image/image.admin.inc
@@ -390,8 +390,6 @@ function image_effect_form($form, &$form_state, $style, $effect) {
  * Submit handler for updating an image effect.
  */
 function image_effect_form_submit($form, &$form_state) {
-  form_state_values_clean($form_state);
-
   $effect = $form_state['values'];
   $style = $form_state['image_style'];
   image_effect_save($style, $effect);
diff --git a/core/modules/path/path.admin.inc b/core/modules/path/path.admin.inc
index 5465141..b651f3e 100644
--- a/core/modules/path/path.admin.inc
+++ b/core/modules/path/path.admin.inc
@@ -247,9 +247,6 @@ function path_admin_form_validate($form, &$form_state) {
  * @see path_admin_form_delete_submit()
  */
 function path_admin_form_submit($form, &$form_state) {
-  // Remove unnecessary values.
-  form_state_values_clean($form_state);
-
   path_save($form_state['values']);
 
   drupal_set_message(t('The alias has been saved.'));
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index c55289c..631e3da 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -691,8 +691,6 @@ function _system_theme_settings_validate_path($path) {
  * Process system_theme_settings form submissions.
  */
 function system_theme_settings_submit($form, &$form_state) {
-  // Exclude unnecessary elements before saving.
-  form_state_values_clean($form_state);
   $values = $form_state['values'];
 
   // Extract the name of the theme from the submitted form values, then
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 074aa31..c5279b4 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -3188,9 +3188,6 @@ function system_settings_form($form) {
  * add an array_filter value to your form.
  */
 function system_settings_form_submit($form, &$form_state) {
-  // Exclude unnecessary elements.
-  form_state_values_clean($form_state);
-
   foreach ($form_state['values'] as $key => $value) {
     if (is_array($value) && isset($form_state['values']['array_filter'])) {
       $value = array_keys(array_filter($value));
diff --git a/core/modules/user/lib/Drupal/user/ProfileFormController.php b/core/modules/user/lib/Drupal/user/ProfileFormController.php
index d2a7e81..4451989 100644
--- a/core/modules/user/lib/Drupal/user/ProfileFormController.php
+++ b/core/modules/user/lib/Drupal/user/ProfileFormController.php
@@ -36,16 +36,6 @@ protected function actions(array $form, array &$form_state) {
   }
 
   /**
-   * Overrides Drupal\Core\Entity\EntityFormController::submit().
-   */
-  public function submit(array $form, array &$form_state) {
-    // @todo Consider moving this into the parent method.
-    // Remove unneeded values.
-    form_state_values_clean($form_state);
-    parent::submit($form, $form_state);
-  }
-
-  /**
    * Overrides Drupal\Core\Entity\EntityFormController::save().
    */
   public function save(array $form, array &$form_state) {
diff --git a/core/modules/user/lib/Drupal/user/RegisterFormController.php b/core/modules/user/lib/Drupal/user/RegisterFormController.php
index 86bb70d..cf976f9 100644
--- a/core/modules/user/lib/Drupal/user/RegisterFormController.php
+++ b/core/modules/user/lib/Drupal/user/RegisterFormController.php
@@ -80,10 +80,6 @@ public function submit(array $form, array &$form_state) {
     else {
       $pass = user_password();
     }
-
-    // Remove unneeded values.
-    form_state_values_clean($form_state);
-
     $form_state['values']['pass'] = $pass;
     $form_state['values']['init'] = $form_state['values']['mail'];
 
