Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.1235
diff -u -p -r1.1235 common.inc
--- includes/common.inc	6 Oct 2010 13:45:56 -0000	1.1235
+++ includes/common.inc	6 Oct 2010 22:12:38 -0000
@@ -5662,6 +5662,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.
@@ -5684,6 +5687,21 @@ 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.
+ * @param $default
+ *   (Optional) The value to return if the element type does not specify a
+ *   value for the property. Defaults to NULL.
+ */
+function element_info_property($type, $property_name, $default = NULL) {
+  return (($info = element_info($type)) && array_key_exists($property_name, $info)) ? $info[$property_name] : $default;
+}
+
+/**
  * 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.71
diff -u -p -r1.71 field_ui.admin.inc
--- modules/field_ui/field_ui.admin.inc	4 Oct 2010 18:00:45 -0000	1.71
+++ modules/field_ui/field_ui.admin.inc	6 Oct 2010 22:12:44 -0000
@@ -1647,13 +1647,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'])),
@@ -1661,8 +1655,10 @@ 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'),
-  ));
+    // Ensure field_ui_field_edit_instance_pre_render() gets called in addition
+    // to, not instead of, the #pre_render function(s) needed by all fieldsets.
+    '#pre_render' => array_merge(array('field_ui_field_edit_instance_pre_render'), element_info_property('fieldset', '#pre_render', array())),
+  );
 
   // Build the non-configurable instance values.
   $form['instance']['field_name'] = array(
