diff --git a/includes/form.inc b/includes/form.inc
index 931b54b610a70e955ae25aa161a9d07b60b6d396..35f86ef559188463b81ee711d8e294f887d44231 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -2027,13 +2027,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>';
 }
 
 /**
@@ -2272,13 +2274,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>';
 }
 
 /**
@@ -2297,7 +2301,6 @@ function form_pre_render_conditional_form_element($element) {
   }
 
   if (isset($element['#title']) || isset($element['#description'])) {
-    unset($element['#id']);
     $element['#theme_wrappers'][] = 'form_element';
   }
   return $element;
@@ -2537,7 +2540,7 @@ function form_process_fieldset(&$element, &$form_state) {
     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';