diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc
index 566959b..827e46c 100644
--- a/core/modules/field_ui/field_ui.admin.inc
+++ b/core/modules/field_ui/field_ui.admin.inc
@@ -560,11 +560,11 @@ function field_ui_field_settings_form($form, &$form_state, $instance) {
   $form['field']['module'] = array('#type' => 'value', '#value' => $field['module']);
   $form['field']['active'] = array('#type' => 'value', '#value' => $field['active']);
 
-  // Add settings provided by the field module. The field module is
-  // responsible for not returning settings that cannot be changed if
-  // the field already has data.
+  // Add settings provided by the field module and place them at the top of the
+  // form. The field module is responsible for not returning settings that
+  // cannot be changed if the field already has data.
   $form['field']['settings'] = array(
-    '#weight' => 10,
+    '#weight' => -10,
   );
   $additions = module_invoke($field['module'], 'field_settings_form', $field, $instance, $has_data);
   if (is_array($additions)) {
