=== modified file 'uc_product_kit/uc_product_kit.module'
--- uc_product_kit/uc_product_kit.module	2008-09-12 21:58:40 +0000
+++ uc_product_kit/uc_product_kit.module	2008-11-12 15:43:30 +0000
@@ -134,6 +134,7 @@
  * @see uc_product_update
  */
 function uc_product_kit_update(&$node) {
+  dpm($node);
   $obj = new stdClass();
   $obj->vid = $node->vid;
   $obj->nid = $node->nid;
@@ -149,29 +150,29 @@
 
   $values = array();
   $placeholders = array();
-  foreach ($node->products as $i => $product) {
+  foreach ($node->products as $nid) {
     $values[] = $node->vid;
     $values[] = $node->nid;
-    $values[] = $product;
+    $values[] = $nid;
     $values[] = $node->mutable;
-    $product = node_load($product);
-    if (is_null($node->items[$i]['qty']) || $node->items[$i]['qty'] === '') {
-      $node->items[$i]['qty'] = 1;
-    }
-    $values[] = $node->items[$i]['qty'];
-    if (is_null($node->items[$i]['discount']) || $node->items[$i]['discount'] === '') {
-      $node->items[$i]['discount'] = $product->sell_price;
-    }
-    $values[] = $node->items[$i]['discount'];
-    $values[] = $node->items[$i]['ordering'];
+    $product = node_load($nid);
+    if (is_null($node->items[$nid]['qty']) || $node->items[$nid]['qty'] === '') {
+      $node->items[$nid]['qty'] = 1;
+    }
+    $values[] = $node->items[$nid]['qty'];
+    if (is_null($node->items[$nid]['discount']) || $node->items[$nid]['discount'] === '') {
+      $node->items[$nid]['discount'] = $product->sell_price;
+    }
+    $values[] = $node->items[$nid]['discount'];
+    $values[] = $node->items[$nid]['ordering'];
     $placeholders[] = '(%d, %d, %d, %d, %d, %f, %d)';
 
-    $product->qty = $node->items[$i]['qty'];
-    if ($node->items[$i]['discount'] < 0) {
-      $product->sell_price += $node->items[$i]['discount'];
+    $product->qty = $node->items[$nid]['qty'];
+    if ($node->items[$nid]['discount'] < 0) {
+      $product->sell_price += $node->items[$nid]['discount'];
     }
     else {
-      $product->sell_price = $node->items[$i]['discount'];
+      $product->sell_price = $node->items[$nid]['discount'];
     }
     $obj->model .= $product->model . ' / ';
     $obj->list_price += $product->list_price * $product->qty;
@@ -251,8 +252,7 @@
       $result = db_query("SELECT nid FROM {uc_product_kits} WHERE product_id = %d", $node->nid);
       while ($nid = db_fetch_object($result)) {
         $kit = node_load($nid, NULL, TRUE);
-        node_object_prepare($kit);
-        $redirect = drupal_execute('product_kit_node_form', array(), $kit);
+        $redirect = drupal_execute('product_kit_node_form', array('nid' => $kit->nid), $kit);
       }
     break;
   }
@@ -366,7 +366,7 @@
       );
       $form['base']['items'][$i]['ordering'] = array('#type' => 'weight',
         '#title' => t('Ordering'),
-        '#default_value' => $product->ordering,
+        '#default_value' => isset($product->ordering) ? $product->ordering : 0,
       );
       $item = node_load($i);
       $form['base']['items'][$i]['discount'] = array('#type' => 'textfield',

