diff --git a/set_front_page.admin.inc b/set_front_page.admin.inc
index 42fc992..84edcfa 100644
--- a/set_front_page.admin.inc
+++ b/set_front_page.admin.inc
@@ -63,6 +63,28 @@ function set_front_page_config_form($form, &$form_state) {
       );
     }
   }
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Save configuration'),
+  );
+
+  return $form;
+}
+
+/**
+ * Submit handler for set_front_page_config_form form.
+ */
+function set_front_page_config_form_submit($form, &$form_state) {
+ // Exclude unnecessary elements.
+  form_state_values_clean($form_state);
+
+  foreach ($form_state['values'] as $key => $value) {
+    if($key == 'site_frontpage' && empty($value)) {
+      continue;
+    }
+    variable_set($key, $value);
+  }
+
+  drupal_set_message(t('The configuration options have been saved.'));
 
-  return system_settings_form($form);
 }
