? HEAD_919348_3.patch
Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.511
diff -u -p -r1.511 form.inc
--- includes/form.inc	17 Nov 2010 04:10:51 -0000	1.511
+++ includes/form.inc	23 Nov 2010 21:54:33 -0000
@@ -1167,7 +1167,7 @@ function _form_validate(&$elements, &$fo
         form_error($elements, $t('!name cannot be longer than %max characters but is currently %length characters long.', array('!name' => empty($elements['#title']) ? $elements['#parents'][0] : $elements['#title'], '%max' => $elements['#maxlength'], '%length' => drupal_strlen($elements['#value']))));
       }
 
-      if (isset($elements['#options']) && isset($elements['#value'])) {
+      if (isset($elements['#options']) && isset($elements['#value']) && (!isset($elements['#required']) && !(!count($elements['#value']) || (is_string($elements['#value']) && strlen(trim($elements['#value'])) == 0)))) {
         if ($elements['#type'] == 'select') {
           $options = form_options_flatten($elements['#options']);
         }
