Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.1222
diff -u -p -r1.1222 common.inc
--- includes/common.inc	17 Sep 2010 14:53:21 -0000	1.1222
+++ includes/common.inc	21 Sep 2010 18:35:12 -0000
@@ -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,26 @@ 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
+ *   The property within the element type that should be returned.
+ */
+function element_info_property($type, $property) {
+  if (($info = element_info($type)) && isset($info[$property])) {
+    if (is_array($info[$property])) {
+      return drupal_map_assoc($info[$property]);
+    }
+    else {
+      return $info[$property];
+    }
+  }
+  return array();
+}
+
+/**
  * Function used by uasort to sort structured arrays by weight, without the property weight prefix.
  */
 function drupal_sort_weight($a, $b) {
Index: modules/field_ui/field_ui.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.admin.inc,v
retrieving revision 1.66
diff -u -p -r1.66 field_ui.admin.inc
--- modules/field_ui/field_ui.admin.inc	16 Sep 2010 20:14:49 -0000	1.66
+++ modules/field_ui/field_ui.admin.inc	21 Sep 2010 18:35:49 -0000
@@ -1648,13 +1648,7 @@ function field_ui_field_edit_form($form,
   $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,
       '%field' => $instance['label'],
       '%type' => $bundles[$entity_type][$bundle]['label'],
     )),
-    '#pre_render' => array('field_ui_field_edit_instance_pre_render'),
-  ));
+    '#pre_render' => 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(
