diff --git a/modules/filter.module b/modules/filter.module
index 1c6361122e1f9c87b5adfc85eb8bc3b9eb819fc4..dab9dc762bf4afb821bcb74fc26420a2d902a9ef 100644
--- a/modules/filter.module
+++ b/modules/filter.module
@@ -271,14 +271,6 @@ function filter_perm() {
  */
 function filter_admin_overview() {
 
-  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
-
-  // Process form submission to set the default format
-  if (is_numeric($edit['default'])) {
-    drupal_set_message(t('Default format updated.'));
-    variable_set('filter_default_format', $edit['default']);
-  }
-
   // Overview of all formats.
   $formats = filter_formats();
   $error = false;
@@ -305,6 +297,14 @@ function filter_admin_overview() {
   return drupal_get_form('filter_admin_overview', $form);
 }
 
+function filter_admin_overview_submit($form_id, $form_values) {
+  // Process form submission to set the default format
+  if (is_numeric($form_values['default'])) {
+    drupal_set_message(t('Default format updated.'));
+    variable_set('filter_default_format', $form_values['default']);
+  }
+}
+
 function theme_filter_admin_overview($form) {
   foreach ($form as $name => $element) {
     if (isset($element['roles']) && is_array($element['roles'])) {
diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index 1c6361122e1f9c87b5adfc85eb8bc3b9eb819fc4..dab9dc762bf4afb821bcb74fc26420a2d902a9ef 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -271,14 +271,6 @@ function filter_perm() {
  */
 function filter_admin_overview() {
 
-  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
-
-  // Process form submission to set the default format
-  if (is_numeric($edit['default'])) {
-    drupal_set_message(t('Default format updated.'));
-    variable_set('filter_default_format', $edit['default']);
-  }
-
   // Overview of all formats.
   $formats = filter_formats();
   $error = false;
@@ -305,6 +297,14 @@ function filter_admin_overview() {
   return drupal_get_form('filter_admin_overview', $form);
 }
 
+function filter_admin_overview_submit($form_id, $form_values) {
+  // Process form submission to set the default format
+  if (is_numeric($form_values['default'])) {
+    drupal_set_message(t('Default format updated.'));
+    variable_set('filter_default_format', $form_values['default']);
+  }
+}
+
 function theme_filter_admin_overview($form) {
   foreach ($form as $name => $element) {
     if (isset($element['roles']) && is_array($element['roles'])) {