diff -rupN autocategorise/autocategorise.module autocategorise_new/autocategorise.module
--- autocategorise/autocategorise.module	2009-07-30 05:48:46.000000000 +1000
+++ autocategorise.module	2010-01-27 16:32:09.731849392 +1100
@@ -152,12 +152,12 @@ function _apply_vocab_to_node($node, $te
   //so we have to get all the current terms
   //this is very similar to $node->taxonomy but the format of that variable seems to vary according to circumstances.
   $result = db_query("SELECT d.tid from {term_node} n LEFT JOIN {term_data} d on n.tid = d.tid WHERE n.nid = %d AND d.vid <> %d", $node->nid, $vocab->vid);
+
+  $other_tids_from_other_vids = array();
   while ($tid = db_result($result) ){
     $other_tids_from_other_vids[] = $tid;
   }
-  if (count($other_tids_from_other_vids)) {
-    $matched_nids = array_merge($matched_nids, $other_tids_from_other_vids);
-  }
+  $matched_nids = array_merge($matched_nids, $other_tids_from_other_vids);
   taxonomy_node_save($node, array_unique($matched_nids));
 }
 
