diff --git a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
index bb09eab..7e25dba 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php
@@ -214,6 +214,17 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
           'view_mode' => $this->mode,
           'configuration' => $display_options
         ));
+
+        // Generate the settings form and allow other modules to alter it.
+        $settings_form = $formatter->settingsForm($form, $form_state);
+        $context = array(
+          'formatter' => $formatter,
+          'field' => $field,
+          'instance' => $instance,
+          'view_mode' => $this->mode,
+          'form' => $form,
+        );
+        drupal_alter('field_formatter_settings_form', $settings_form, $form_state, $context);
       }
       else {
         $formatter = NULL;
@@ -238,17 +249,6 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
         if ($formatter) {
           $formatter_type_info = $formatter->getPluginDefinition();
 
-          // Generate the settings form and allow other modules to alter it.
-          $settings_form = $formatter->settingsForm($form, $form_state);
-          $context = array(
-            'formatter' => $formatter,
-            'field' => $field,
-            'instance' => $instance,
-            'view_mode' => $this->mode,
-            'form' => $form,
-          );
-          drupal_alter('field_formatter_settings_form', $settings_form, $form_state, $context);
-
           if ($settings_form) {
             $table[$name]['format']['#cell_attributes'] = array('colspan' => 3);
             $table[$name]['format']['settings_edit_form'] = array(
@@ -305,7 +305,9 @@ public function buildForm(array $form, array &$form_state, $entity_type = NULL,
               '#markup' => '<div class="field-formatter-summary">' . implode('<br />', $summary) . '</div>',
               '#cell_attributes' => array('class' => array('field-formatter-summary-cell')),
             );
-            $table[$name]['settings_edit'] = $base_button + array(
+          }
+          if (!empty($settings_form)) {
+              $table[$name]['settings_edit'] = $base_button + array(
               '#type' => 'image_button',
               '#name' => $name . '_formatter_settings_edit',
               '#src' => 'core/misc/configure-dark.png',
