--- orig/form.inc	2011-11-10 16:17:30.000000000 +0100
+++ patched/form.inc	2011-11-10 16:17:02.000000000 +0100
@@ -1302,6 +1302,10 @@
           $elements['#value'] = NULL;
           form_set_value($elements, NULL, $form_state);
         }
+        elseif ($elements['#type'] == 'radios' && $elements['#value']=='' && !isset($options[''])) {
+          $elements['#value'] = NULL;
+          form_set_value($elements, NULL, $form_state);
+        }
         elseif (!isset($options[$elements['#value']])) {
           form_error($elements, $t('An illegal choice has been detected. Please contact the site administrator.'));
           watchdog('form', 'Illegal choice %choice in %name element.', array('%choice' => $elements['#value'], '%name' => empty($elements['#title']) ? $elements['#parents'][0] : $elements['#title']), WATCHDOG_ERROR);
