 includes/common.inc                 |   20 ++++++++++++++++++++
 modules/field_ui/field_ui.admin.inc |   12 +++---------
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git includes/common.inc includes/common.inc
index 382d047..770b2a8 100644
--- includes/common.inc
+++ includes/common.inc
@@ -5476,6 +5476,9 @@ function element_sort_by_title($a, $b) {
 
 /**
  * Retrieve the default properties for the defined element type.
+ *
+ * @param $type
+ *   An element type as defined by hook_element_info().
  */
 function element_info($type) {
   // Use the advanced drupal_static() pattern, since this is called very often.
@@ -5498,6 +5501,23 @@ function element_info($type) {
 }
 
 /**
+ * Retrieve a single property for the defined element type.
+ *
+ * @param $type
+ *   An element type as defined by hook_element_info().
+ * @param $property_name
+ *   The property within the element type that should be returned.
+ */
+function element_info_property($type, $property_name) {
+  if ($info = element_info($type)) {
+    if (isset($info[$property_name])) {
+      return $info[$property_name];
+    }
+  }
+  return FALSE;
+}
+
+/**
  * Function used by uasort to sort structured arrays by weight, without the property weight prefix.
  */
 function drupal_sort_weight($a, $b) {
diff --git modules/field_ui/field_ui.admin.inc modules/field_ui/field_ui.admin.inc
index 90959c4..9bdd457 100644
--- modules/field_ui/field_ui.admin.inc
+++ modules/field_ui/field_ui.admin.inc
@@ -1648,13 +1648,7 @@ function field_ui_field_edit_form($form, &$form_state, $instance) {
   $bundles = field_info_bundles();
 
   // Create a form structure for the instance values.
-  // @todo Fieldset element info needs to be merged in order to not skip the
-  //   default element definition for #pre_render. While the current default
-  //   value could simply be hard-coded, we'd possibly forget this location
-  //   when system_element_info() is updated. See also form_builder(). This
-  //   particular #pre_render, field_ui_field_edit_instance_pre_render(), might
-  //   as well be entirely needless though.
-  $form['instance'] = array_merge(element_info('fieldset'), array(
+  $form['instance'] = array(
     '#tree' => TRUE,
     '#type' => 'fieldset',
     '#title' => t('%type settings', array('%type' => $bundles[$entity_type][$bundle]['label'])),
@@ -1662,8 +1656,8 @@ function field_ui_field_edit_form($form, &$form_state, $instance) {
       '%field' => $instance['label'],
       '%type' => $bundles[$entity_type][$bundle]['label'],
     )),
-    '#pre_render' => array('field_ui_field_edit_instance_pre_render'),
-  ));
+    '#pre_render' => array_merge(array('field_ui_field_edit_instance_pre_render'), element_info_property('fieldset', 'pre_render')),
+  );
 
   // Build the non-configurable instance values.
   $form['instance']['field_name'] = array(
