diff --git a/README.txt b/README.txt
index 16848bb..6634114 100644
--- a/README.txt
+++ b/README.txt
@@ -28,7 +28,6 @@ automatically displayed for you to choose from.  Simply select the views
 to alias and check the "Bulk generate aliases ..." box and Save the
 configuration to kick off the generation.
 
-
 /** NOT DONE YET **/
 Recurring Aliases
 This works of hook_taxonomy to update aliases when terms are updated, created or deleted.
diff --git a/view_alias.module b/view_alias.module
index 991da75..7e0651b 100644
--- a/view_alias.module
+++ b/view_alias.module
@@ -18,13 +18,13 @@ function view_alias_pathauto($op) {
       $settings['token_type'] = 'view_alias';
       $settings['groupheader'] = t('View Alias settings');
       $settings['patterndescr'] = t('Default View Alias pattern (applies to all views with a term argument and page display)');
-      $settings['patterndefault'] = t('');
+      $settings['patterndefault'] = '';
       $settings['bulkname'] = t('Bulk generate aliases for views with term arguments that are not aliased');
       $settings['bulkdescr'] = t('Generate aliases for all existing views with term arguments which do not already have aliases.');
-      
+
       // left out patterns since we dont use them.
       $settings['placeholders'] = array( t('[cat-raw]'), t('The View argument taxonomy name'));
-      
+
       $settings['patternitems'] = array();
       return (object) $settings;
 
@@ -34,15 +34,18 @@ function view_alias_pathauto($op) {
 }
 
 /**
- * 
+ *
  * Do the bulk updating for view aliases
  *
  */
 function view_alias_pathauto_bulkupdate() {
   $aliasable = _get_aliasable_displays();
+
+
   foreach ($aliasable as $alias) {
     if (variable_get("pathauto_view_alias_{$alias->path}", FALSE)) {
-      $terms = taxonomy_get_tree($alias->varg);
+      $terms = _gather_terms_for_alias($alias->varg);
+
       foreach ($terms as $term) {
         view_alias_create_alias($term, $alias, 'bulkupdate');
       }
@@ -50,6 +53,19 @@ function view_alias_pathauto_bulkupdate() {
   }
 }
 
+function _gather_terms_for_alias($validator_vocab_ids) {
+  $vocabs = explode(",", $validator_vocab_ids);
+
+  $terms_to_alias = array();
+
+  foreach($vocabs as $vocab) {
+    $terms = taxonomy_get_tree($vocab);
+    $terms_to_alias = array_merge($terms_to_alias, $terms);
+  }
+
+  return $terms_to_alias;
+}
+
 /**
  *
  * Implementation of hook_path_alais_types from pathauto
@@ -59,10 +75,10 @@ function view_alias_pathauto_bulkupdate() {
 function view_alias_path_alias_types() {
   $aliasable = _get_aliasable_displays();
   foreach($aliasable as $alias) {
-    $objects["$alias->path"] = t("View page displays having a path of '$alias->path'");
+    $objects[$alias->path] = t('View page displays having a path of %path', array('%path' => $alias->path));
   }
 
-  return $objects;  
+  return $objects;
 }
 
 /**
@@ -74,7 +90,7 @@ function view_alias_path_alias_types() {
  */
 function view_alias_form_alter(&$form, $form_state, $form_id) {
   if($form_id == 'pathauto_admin_settings') {
-    
+
     unset($form['view_alias']['pathauto_view_alias_pattern']);
     unset($form['view_alias']['token_help']);
     $form['view_alias']['views_to_alias'] = array(
@@ -89,7 +105,7 @@ function view_alias_form_alter(&$form, $form_state, $form_id) {
       $voc = taxonomy_vocabulary_load($alias->varg);
       $form['view_alias']['views_to_alias']["pathauto_view_alias_{$alias->path}"] = array(
         '#type' => 'checkbox',
-        '#title' => t("View $alias->view_name, display $alias->display_name, on path $alias->path, with $voc->name arguments."),
+        '#title' => t('View %view, display %display, on path %path, with %vocabulary arguments.', array('%view' => $alias->view_name, '%display' => $alias->display_name, '%path' => $alias->path, '%vocabulary' => $voc->name)),
         '#weight' => -1,
         '#default_value' => variable_get("pathauto_view_alias_{$alias->path}", 0),
       );
@@ -122,9 +138,9 @@ function view_alias_taxonomy($op, $type, $array = NULL) {
  */
 function view_alias_create_alias($term, $alias, $op) {
   module_load_include('inc', 'pathauto');
-  
+
   // switch around the pattern based on if the term id is contained within the new alias
-  if (strpos($alias->path, '%') === FALSE) {    
+  if (strpos($alias->path, '%') === FALSE) {
     $source = "$alias->path/$term->tid";
     $GLOBALS['conf']['pathauto_view_alias_pattern'] = $alias->path."/[cat-raw]";
   }
@@ -132,12 +148,12 @@ function view_alias_create_alias($term, $alias, $op) {
     $source = str_replace('%', $term->tid, $alias->path);
     $GLOBALS['conf']['pathauto_view_alias_pattern'] = str_replace('%', '[cat-raw]', $alias->path);
   }
-  
+
   $placeholders = array(
     'tokens' => array(t('[cat-raw]')),
     'values' => array(pathauto_cleanstring($term->name)),
   );
-  
+
   $alias_path = pathauto_create_alias('view_alias', $op, $placeholders, $source, $alias->path);
   unset($GLOBALS['conf']['pathauto_view_alias_pattern']);
   return $alias_path;
@@ -157,13 +173,13 @@ function view_alias_delete_alias($term, $alias) {
  * that means have a path url and use a term id as an argument
  * build and array of objects, keyed with the view name, having the view path, and the vocab id for the terms used
  * array(
- *   0 => 
- *     object ( 
+ *   0 =>
+ *     object (
  *       'view_name' -> 'viewname'
  *       'display_name' -> 'display name'
  *       'path' -> 'view url path'
  *       'varg' -> 'vocabulary id'
- *     ) 
+ *     )
  * )
  */
 function _get_aliasable_displays() {
@@ -171,33 +187,32 @@ function _get_aliasable_displays() {
 
   $sql = "SELECT DISTINCT(vv.name) FROM {views_view} vv JOIN {views_display} vd ";
   $sql .= "ON vv.vid = vd.vid where vd.display_plugin = 'page'";
-  
+
   $result = db_query($sql);
   while($row = db_fetch_object($result)) {
     $aview = views_get_view($row->name);
     $alias = NULL;
     $alias->view_name = $row->name;
     $default_vocab_arg;
-    
+
     foreach($aview->display as $key => $display) {
       // check default for args and save for later
       $alias->display_name = $key;
-      
+
       if($key == 'default') {
         $alias->varg = _find_view_arguments($display);
         continue;
       }
       // its some sort of page cause the query says so.
       else {
-        //dpr($display);
         // add the page and replace overridden args.
-        $alias->path = $display->display_options['path'];       
+        $alias->path = $display->display_options['path'];
         $overridden = _find_view_arguments($display);
-        if($overridden) { 
+        if($overridden) {
           $alias->varg = $overridden;
         }
       }
-      if(!empty($alias->path) && !empty($alias->varg))   
+      if(!empty($alias->path) && !empty($alias->varg))
         $aliasable_views[] = drupal_clone($alias);
     }
 
@@ -217,7 +232,9 @@ function _find_view_arguments($display) {
   if($dis_args['validate_argument_type'] == 'tid' && array_sum($dis_args['validate_argument_vocabulary']) > 0) {
     // remove zero entries
     $no_zeroes = array_diff($dis_args['validate_argument_vocabulary'], array(0));
-    return implode(",", $no_zeroes);
+
+    $view_args = implode(",", $no_zeroes);
+    return $view_args;
   }
-  return FALSE; 
+  return FALSE;
 }
