--- 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 {
