--- a/components/select.inc 2011-08-24 13:42:15.000000000 +0100 +++ b/components/select.inc 2011-11-11 13:40:09.000000000 +0000 @@ -534,6 +534,14 @@ function theme_webform_display_select($v if (isset($options[$option_value])) { $items[] = _webform_filter_xss($options[$option_value]); } + else if (isset($element['#value'][0]) && $element['#value'][0] !== '') { + foreach($options as $group) { + if (isset($group[$element['#value'][0]])) { + $items[] = $element['#format'] == 'html' ? _webform_filter_xss($group[$element['#value'][0]]) : $group[$element['#value'][0]]; + break; + } + } + } // User-specified in the "other" field. else { $items[] = $option_value; @@ -546,6 +554,13 @@ function theme_webform_display_select($v // Administer provided values. if (isset($options[$element['#value'][0]])) { $items[] = $element['#format'] == 'html' ? _webform_filter_xss($options[$element['#value'][0]]) : $options[$element['#value'][0]]; + } else if (is_array($options[key($options)])) { + foreach($options as $group) { + if (isset($group[$element['#value'][0]])) { + $items[] = $element['#format'] == 'html' ? _webform_filter_xss($group[$element['#value'][0]]) : $group[$element['#value'][0]]; + break; + } + } } // User-specified in the "other" field. else {