=== modified file 'uc_catalog/uc_catalog.module'
--- uc_catalog/uc_catalog.module  2009-01-19 19:41:59 +0000
+++ uc_catalog/uc_catalog.module  2009-01-29 21:46:44 +0000
@@ -162,15 +162,24 @@
     }
   }
 
-  if ($vid = variable_get('uc_catalog_vid', 0)) {
-    $vocab = taxonomy_vocabulary_load($vid);
-    if (empty($vocab->nodes)) {
-      foreach (uc_product_types() as $type) {
-        db_query("INSERT INTO {vocabulary_node_types} (vid, type) VALUES (%d, '%s')", $vid, $type);
-      }
-    }
-  }
-}
+  foreach (uc_product_types() as $type) {
+    uc_catalog_add_node_type($type);
+  }
+}
+
+/**
+  * Add a node type to the catalog taxonomy term.
+  */
+function uc_catalog_add_node_type($type) {
+  if (!($vid = variable_get('uc_catalog_vid', 0))) {
+    return;
+  }
+  
+  if (!db_result(db_query("SELECT vid FROM {vocabulary_node_types} WHERE vid = %d and type = '%s'", $vid, $type))){
+    db_query("INSERT INTO {vocabulary_node_types} (vid, type) VALUES (%d, '%s')", $vid, $type);
+  }
+}
+
 
 function uc_catalog_theme() {
   return array(

=== modified file 'uc_product_kit/uc_product_kit.module'
--- uc_product_kit/uc_product_kit.module  2009-01-26 18:26:47 +0000
+++ uc_product_kit/uc_product_kit.module  2009-01-29 21:11:48 +0000
@@ -55,11 +55,8 @@
 
   // Hack the product kit node type into the catalog if this module is enabled
   // some time after uc_catalog.
-  if (module_exists('uc_catalog') && $vid = variable_get('uc_catalog_vid', 0)) {
-    $vocab = taxonomy_vocabulary_load($vid);
-    if (!isset($vocab->nodes['product_kit'])) {
-      db_query("INSERT INTO {vocabulary_node_types} (vid, type) VALUES (%d, '%s')", $vid, 'product_kit');
-    }
+  if (module_exists('uc_catalog')) {
+    uc_catalog_add_node_type('product_kit');
   }
 }
 

