Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.432
diff -u -p -r1.432 form.inc
--- includes/form.inc	12 Feb 2010 15:11:29 -0000	1.432
+++ includes/form.inc	18 Feb 2010 01:56:19 -0000
@@ -2006,13 +2006,15 @@ function theme_radio($variables) {
  */
 function theme_radios($variables) {
   $element = $variables['element'];
-  $class = 'form-radios';
+  $attributes = array();
+  if (!empty($element['#id'])) {
+    $attributes['id'] = $element['#id'];
+  }
+  $attributes['class'] = 'form-radios';
   if (!empty($element['#attributes']['class'])) {
-    $class .= ' ' . implode(' ', $element['#attributes']['class']);
+    $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']);
   }
-  $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
-
-  return $element['#children'];
+  return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
 }
 
 /**
@@ -2354,13 +2356,15 @@ function theme_checkbox($variables) {
  */
 function theme_checkboxes($variables) {
   $element = $variables['element'];
-  $class = 'form-checkboxes';
+  $attributes = array();
+  if (!empty($element['#id'])) {
+    $attributes['id'] = $element['#id'];
+  }
+  $attributes['class'] = 'form-checkboxes';
   if (!empty($element['#attributes']['class'])) {
-    $class .= ' ' . implode(' ', $element['#attributes']['class']);
+    $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']);
   }
-  $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
-
-  return $element['#children'];
+  return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
 }
 
 /**
@@ -2379,7 +2383,6 @@ function form_pre_render_conditional_for
   }
 
   if (isset($element['#title']) || isset($element['#description'])) {
-    unset($element['#id']);
     $element['#theme_wrappers'][] = 'form_element';
   }
   return $element;
@@ -2616,7 +2619,7 @@ function form_process_fieldset(&$element
     if (!isset($element['#attributes']['class'])) {
       $element['#attributes']['class'] = array();
     }
-
+    $element['#attributes']['class'][] = 'form-wrapper';
     $element['#attributes']['class'][] = 'collapsible';
     if (!empty($element['#collapsed'])) {
       $element['#attributes']['class'][] = 'collapsed';
