Index: event.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.module,v
retrieving revision 1.348
diff -u -r1.348 event.module
--- event.module	1 Jan 2008 23:37:57 -0000	1.348
+++ event.module	8 Feb 2008 17:06:01 -0000
@@ -1694,9 +1694,22 @@
 function _event_get_taxonomy_control($curterm = NULL, $autosubmit = TRUE) {
   if (module_exists('taxonomy')) {
 
-    $form = drupal_get_form('event_taxonomy_filter_form', $curterm, $autosubmit);
-
-    return theme('event_filter_control', $form);
+    // Check to see if there exists a vocab for any event node type.
+    // Only show this filter if there're vocabs
+    $types = event_get_types();
+    foreach ($types['all'] + $types['solo'] as $type) {
+      $results = taxonomy_get_vocabularies($type);
+      if (!empty($results)) {
+        $has_vocab = TRUE;
+        break;
+      }
+    }
+    
+    if ($has_vocab) {
+      $form = drupal_get_form('event_taxonomy_filter_form', $curterm, $autosubmit);
+  
+      return theme('event_filter_control', $form);
+    }
   }
 }
 
@@ -1758,9 +1771,13 @@
 function _event_get_type_control($curtype = NULL, $autosubmit = TRUE) {
   if (module_exists('taxonomy')) {
 
-    $form = drupal_get_form('event_type_filter_form', $curtype, $autosubmit);
-
-    return theme('event_filter_control', $form);
+    // Only display filter if we have more than one node type for events
+    $results = event_get_types('all');
+    if (count($results) > 1) {
+      $form = drupal_get_form('event_type_filter_form', $curtype, $autosubmit);
+  
+      return theme('event_filter_control', $form);
+    }
   }
 }
 
