diff options
-rw-r--r-- | modules/field_ui/field_ui.admin.inc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/field_ui/field_ui.admin.inc b/modules/field_ui/field_ui.admin.inc index 11bd18381..34dafb1da 100644 --- a/modules/field_ui/field_ui.admin.inc +++ b/modules/field_ui/field_ui.admin.inc @@ -658,8 +658,11 @@ function field_ui_display_overview_form_submit($form, &$form_state) { foreach ($form_values as $key => $values) { if (in_array($key, $form['#fields'])) { $instance = field_info_instance($key, $form['#bundle']); - unset($values['weight']); - $instance['display'] = array_merge($instance['display'], $values); + foreach ($instance['display'] as $build_mode => $display) { + if (isset($values[$build_mode])) { + $instance['display'][$build_mode] = array_merge($instance['display'][$build_mode], $values[$build_mode]); + } + } field_update_instance($instance); } } |