Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.368
diff -u -p -r1.368 form.inc
--- includes/form.inc	29 Aug 2009 16:30:14 -0000	1.368
+++ includes/form.inc	31 Aug 2009 01:13:17 -0000
@@ -1624,19 +1624,6 @@ function form_get_options($element, $key
  * @ingroup themeable
  */
 function theme_fieldset($element) {
-  if (!empty($element['#collapsible'])) {
-
-    if (!isset($element['#attributes']['class'])) {
-      $element['#attributes']['class'] = array();
-    }
-
-    $element['#attributes']['class'][] = 'collapsible';
-    if (!empty($element['#collapsed'])) {
-      $element['#attributes']['class'][] = 'collapsed';
-    }
-  }
-  $element['#attributes']['id'] = $element['#id'];
-
   return '<fieldset' . drupal_attributes($element['#attributes']) . '>' . ($element['#title'] ? '<legend>' . $element['#title'] . '</legend>' : '') . (isset($element['#description']) && $element['#description'] ? '<div class="fieldset-description">' . $element['#description'] . '</div>' : '') . (!empty($element['#children']) ? $element['#children'] : '') . (isset($element['#value']) ? $element['#value'] : '') . "</fieldset>\n";
 }
 
@@ -2246,9 +2233,21 @@ function form_process_fieldset(&$element
 
   // Contains form element summary functionalities.
   $element['#attached_js']['misc/form.js'] = array('weight' => JS_LIBRARY + 1);
+  
+  // Collapsible fieldsets
   if (!empty($element['#collapsible'])) {
     $element['#attached_js']['misc/collapse.js'] = array();
+
+    if (!isset($element['#attributes']['class'])) {
+      $element['#attributes']['class'] = array();
+    }
+
+    $element['#attributes']['class'][] = 'collapsible';
+    if (!empty($element['#collapsed'])) {
+      $element['#attributes']['class'][] = 'collapsed';
+    }
   }
+  $element['#attributes']['id'] = $element['#id'];
 
   return $element;
 }
Index: themes/seven/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/seven/template.php,v
retrieving revision 1.5
diff -u -p -r1.5 template.php
--- themes/seven/template.php	22 Aug 2009 14:34:23 -0000	1.5
+++ themes/seven/template.php	31 Aug 2009 01:13:17 -0000
@@ -71,19 +71,5 @@ function seven_tablesort_indicator($styl
  * Add span to legend tag, so we can style it to be inside the fieldset.
  */
 function seven_fieldset($element) {
-  if (!empty($element['#collapsible'])) {
-    drupal_add_js('misc/collapse.js');
-
-    if (!isset($element['#attributes']['class'])) {
-      $element['#attributes']['class'] = array();
-    }
-
-    $element['#attributes']['class'][] = 'collapsible';
-    if (!empty($element['#collapsed'])) {
-      $element['#attributes']['class'][] = 'collapsed';
-    }
-  }
-  $element['#attributes']['id'] = $element['#id'];
-
   return '<fieldset' . drupal_attributes($element['#attributes']) . '>' . ($element['#title'] ? '<legend><span>' . $element['#title'] . '</span></legend>' : '') . (isset($element['#description']) && $element['#description'] ? '<div class="fieldset-description">' . $element['#description'] . '</div>' : '') . (!empty($element['#children']) ? $element['#children'] : '') . (isset($element['#value']) ? $element['#value'] : '') . "</fieldset>\n";
 }
