--- event.module	2009-02-04 12:48:14.000000000 -0500
+++ event.module 	2009-02-04 12:49:41.000000000 -0500
@@ -372,6 +372,23 @@ function event_admin_overview_settings()
       '#default_value' => variable_get('event_taxonomy_control', 'all'),
       '#options' => array('all' => t('Show taxonomy filter control on calendar views'), 'request' => t('Only show taxonomy filter control when taxonomy filter view is requested'), 'never' => t('Never show taxonomy filter control')));
   }
+  if(module_exists('taxonomy')){
+    $types = event_get_types();
+    $vs = array();
+    foreach ($types['all'] as $type) {
+      $results = taxonomy_get_vocabularies($type);
+      foreach ($results as $vocab) {
+        $vs[$vocab->vid] = $vocab->name . ": ("  . $vocab->description . ")";
+      }
+    }
+    $form['event_vocabulary_filter'] = array(
+      '#type' => 'checkboxes',
+      '#title' => t('Vocabularies to include in filter'),
+      '#default_value'  => variable_get('event_vocabulary_filter',array()),
+      '#options'=> $vs,
+      '#description'=>t('Use only the selected vocabularies when rendering the event taxonomy filter control. Selecting none defaults to all.'),
+    );
+  }
   $form['event_type_control'] = array(
     '#type' => 'radios',
     '#title' => t('Content type filter controls'),
@@ -1847,13 +1864,15 @@ function _event_get_taxonomy_control($cu
  * @return An array representing the form.
  */
 function event_taxonomy_filter_form($form_state, $curterm, $autosubmit) {
-
+  $activeVocabularies = variable_get('event_vocabulary_filter',array());
   $types = event_get_types();
   $vs = array();
   foreach ($types['all'] as $type) {
     $results = taxonomy_get_vocabularies($type);
     foreach ($results as $vocab) {
-      $vs[$vocab->vid] = $vocab;
+      if(count($activeVocabularies)>0 and array_search($vocab->vid,$activeVocabularies)){
+        $vs[$vocab->vid] = $vocab;
+      }
     }
   }
 
@@ -1861,7 +1880,9 @@ function event_taxonomy_filter_form($for
   foreach ($types['solo'] as $type) {
     $results = taxonomy_get_vocabularies($type);
     foreach ($results as $vocab) {
-      $vs[$vocab->vid] = $vocab;
+      if(count($activeVocabularies)>0 and array_search($vocab->vid,$activeVocabularies)){      
+        $vs[$vocab->vid] = $vocab;
+      }
     }
   }
 
