### Eclipse Workspace Patch 1.0
#P 
Index: sites/all/modules/workflow/includes/workflow_views_handler_filter_sid.inc
===================================================================
--- sites/all/modules/workflow/includes/workflow_views_handler_filter_sid.inc	(revision 5)
+++ sites/all/modules/workflow/includes/workflow_views_handler_filter_sid.inc	(working copy)
@@ -48,4 +48,38 @@
     }
     $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field " . $this->operator . $in, $this->value);
   }
+
+  /**
+   * When using exposed filters, we may be required to reduce the set.
+   */
+  function reduce_value_options($input = NULL) {
+    if (!isset($input)) {
+      $input = $this->value_options;
+    }
+
+    // Because options may be an array of strings, or an array of mixed arrays
+    // and strings (optgroups) or an array of objects, we have to
+    // step through and handle each one individually.
+    $options = array();
+    foreach ($input as $id => $option) {
+      if (is_array($option)) {
+        $reduced_options = $this->reduce_value_options($option); 
+        if(!empty($reduced_options)) {
+          $options[$id] = $this->reduce_value_options($option);
+        }
+        continue;
+      }
+      else if (is_object($option)) {
+        $keys = array_keys($option->option);
+        $key = array_shift($keys);
+        if (isset($this->options['value'][$key])) {
+          $options[$id] = $option;
+        }
+      }
+      else if (isset($this->options['value'][$id])) {
+        $options[$id] = $option;
+      }
+    }
+    return $options;
+  }
 }
