--- /a/uc_discounts_alt/uc_discounts/uc_discounts.module
+++ /b/uc_discounts_alt/uc_discounts/uc_discounts.module
@@ -1090,16 +1090,21 @@
   //Create IN string of product node IDs in order
   if (is_array($order->products) && !empty($order->products)) {
     foreach ($order->products as $product) {
-      $nid = $product->nid;
-      $order_product_ids_set[$nid] = TRUE;
       if (is_array($product->data) && !empty($product->data['kit_id'])) {
         $kit_id = $product->data['kit_id'];
         $order_product_ids_set[$kit_id] = TRUE;
         $kits[$kit_id]['product_qty'] += $product->qty;
-      }
-
+        
+        $nid = $product->data['kit_id'];
+        $order_product_ids_set[$nid] = TRUE;
+      }
+      else {
+        $nid = $product->nid;
+        $order_product_ids_set[$nid] = TRUE;
+        uc_discounts_add_to_existing_map_number_value($order_product_id_quantity_map, $nid, $product->qty);
+      }
+      
       uc_discounts_add_to_existing_map_number_value($order_product_id_subtotal_map, $nid, $product->price * $product->qty);
-      uc_discounts_add_to_existing_map_number_value($order_product_id_quantity_map, $nid, $product->qty);
 
       $a = $order_product_id_product_array_map[$nid];
       if (!is_array($a)) {
@@ -1126,6 +1131,7 @@
       }
     }
   }
+  
   // Populate product NID array with NIDs from the order
   $order_product_ids = array_keys($order_product_ids_set);
   $temp_product_ids   = $order_product_ids;
