Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.272
diff -u -r1.272 form.inc
--- includes/form.inc	6 May 2008 12:18:45 -0000	1.272
+++ includes/form.inc	22 May 2008 17:31:32 -0000
@@ -1517,12 +1517,20 @@
 function theme_radio($element) {
   _form_set_class($element, array('form-radio'));
   $output = '<input type="radio" ';
-  $output .= 'name="' . $element['#name'] . '" ';
-  $output .= 'value="' . $element['#return_value'] . '" ';
+  $output .= 'name="'. $element['#name'] .'" ';
+  $output .= 'value="'. $element['#return_value'] .'" ';
+  if (!empty($element['#id'])) { //add this if
+$output .= 'id="'. $element['#id'] .'" ';
+  }
   $output .= (check_plain($element['#value']) == $element['#return_value']) ? ' checked="checked" ' : ' ';
-  $output .= drupal_attributes($element['#attributes']) . ' />';
+
+  $output .= drupal_attributes($element['#attributes']) .' />';
   if (!is_null($element['#title'])) {
-    $output = '<label class="option">' . $output . ' ' . $element['#title'] . '</label>';
+if (!empty($element['#id'])) { //and this one - only add for if we know element's id
+$output = '<label class="option" for="'. $element['#id'] .'">'. $output .' '. $element['#title'] .'</label>';
+} else {
+$output = '<label class="option">'. $output .' '. $element['#title'] .'</label>';
+}
   }
 
   unset($element['#title']);