--- form.inc.old	2008-09-15 09:03:18.000000000 +0200
+++ form.inc.new	2008-12-08 12:12:18.000000000 +0100
@@ -674,7 +674,12 @@ function form_builder($form_id, $form) {
       array_unshift($form['#parents'], $name);
     }
     if (!isset($form['#id'])) {
-      $form['#id'] = form_clean_id('edit-'. implode('-', $form['#parents']));
+      if ($form['#type'] == 'radio') {
+        $form['#id'] = form_clean_id('edit-'. implode('-', $form['#parents']). '-'. $form['#return_value']);
+      }
+      else {
+        $form['#id'] = form_clean_id('edit-'. implode('-', $form['#parents']));
+      }
     }
 
     if (isset($form['#disabled']) && $form['#disabled']) {
@@ -1548,7 +1553,7 @@ function theme_form_element($element, $v
   if (!empty($element['#title'])) {
     $title = $element['#title'];
     if (!empty($element['#id'])) {
-      $output .= ' <label for="'. $element['#id'] .'">'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label>\n";
+      $output .= ' <label for="'. $element['#id'] .'-wrapper">'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label>\n";
     }
     else {
       $output .= ' <label>'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label>\n";
