Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.297
diff -u -r1.297 form.inc
--- includes/form.inc	15 Oct 2008 14:17:26 -0000	1.297
+++ includes/form.inc	23 Oct 2008 07:46:40 -0000
@@ -1516,6 +1516,10 @@
     }
   }
 
+  if (!isset($element['#attributes']['id'])) {
+    $element['#attributes']['id'] = isset($element['#id']) ? $element['#id'] : form_clean_id($element['#title']);
+  }
+
   return '<fieldset' . drupal_attributes($element['#attributes']) . '>' . ($element['#title'] ? '<legend>' . $element['#title'] . '</legend>' : '') . (isset($element['#description']) && $element['#description'] ? '<div class="description">' . $element['#description'] . '</div>' : '') . (!empty($element['#children']) ? $element['#children'] : '') . (isset($element['#value']) ? $element['#value'] : '') . "</fieldset>\n";
 }
 
@@ -2330,7 +2334,7 @@
     $seen_ids = array();
     return;
   }
-  $id = str_replace(array('][', '_', ' '), '-', $id);
+  $id = str_replace(array('][', '_', ' '), '-', drupal_strtolower($id));
 
   // Ensure IDs are unique. The first occurrence is held but left alone.
   // Subsequent occurrences get a number appended to them. This incrementing
