diff --git a/modules/ds_forms/ds_forms.module b/modules/ds_forms/ds_forms.module
index 924a6e2..e4e207a 100644
--- a/modules/ds_forms/ds_forms.module
+++ b/modules/ds_forms/ds_forms.module
@@ -74,6 +74,30 @@ function ds_forms_form_field_ui_field_overview_form_alter(&$form, &$form_state)
     $form_state['no_panels'] = TRUE;
     $form_state['no_view_mode_suggestions'] = TRUE;
 
+    // This key is used to store the current updated field.
+    $form_state += array(
+      'formatter_settings_edit' => NULL,
+    );
+    // Add AJAX wrapper.
+    $form['fields']['#prefix'] = '<div id="field-display-overview-wrapper">';
+    $form['fields']['#suffix'] = '</div>';
+
+    // See field_ui.admin.inc for more details on refresh rows.
+    $form['refresh_rows'] = array('#type' => 'hidden');
+    $form['refresh'] = array(
+      '#type' => 'submit',
+      '#value' => t('Refresh'),
+      '#op' => 'refresh_table',
+      '#submit' => array('field_ui_display_overview_multistep_submit'),
+      '#ajax' => array(
+        'callback' => 'field_ui_display_overview_multistep_js',
+        'wrapper' => 'field-display-overview-wrapper',
+        'effect' => 'fade',
+        // The button stays hidden, so we hide the AJAX spinner too. Ad-hoc
+        // spinners will be added manually by the client-side script.
+        'progress' => 'none',
+      ),
+    );
     // Attach js.
     $form['#attached']['js'][] = drupal_get_path('module', 'ds_forms') . '/ds_forms.admin.js';
 
