Index: handlers/views_handler_filter_many_to_one.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_filter_many_to_one.inc,v
retrieving revision 1.1
diff -u -p -r1.1 views_handler_filter_many_to_one.inc
--- handlers/views_handler_filter_many_to_one.inc	3 Sep 2008 19:21:28 -0000	1.1
+++ handlers/views_handler_filter_many_to_one.inc	9 Oct 2008 20:51:02 -0000
@@ -57,5 +57,6 @@ class views_handler_filter_many_to_one e
       return;
     }
     $this->helper->add_filter();
+file_put_contents('/Users/amorton/Sites/nm/sites/default/files/drupal.log', print_r("not empty\n",1), FILE_APPEND);
   }
 }
Index: modules/taxonomy/views_handler_filter_term_node_tid.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/taxonomy/views_handler_filter_term_node_tid.inc,v
retrieving revision 1.2
diff -u -p -r1.2 views_handler_filter_term_node_tid.inc
--- modules/taxonomy/views_handler_filter_term_node_tid.inc	22 Sep 2008 18:13:51 -0000	1.2
+++ modules/taxonomy/views_handler_filter_term_node_tid.inc	9 Oct 2008 20:51:02 -0000
@@ -151,8 +151,12 @@ class views_handler_filter_term_node_tid
   }
 
   function accept_exposed_input($input) {
-    $rc = parent::accept_exposed_input($input);
+    // If it's optional and there's no value don't bother filtering.
+    if ($this->options['expose']['optional'] && empty($this->validated_exposed_input)) {
+      return FALSE;
+    }
 
+    $rc = parent::accept_exposed_input($input);
     if ($rc) {
       // If we have previously validated input, override.
       if (isset($this->validated_exposed_input)) {
