--- uc_gst.module.OLD	2009-10-12 15:00:06.000000000 +1100
+++ uc_gst.module	2010-09-12 17:15:35.000000000 +1000
@@ -118,7 +118,6 @@
     case 'cart_item':
     case 'order_product':
       $node = node_load($context['subject']['node']->nid);
-      $options['suffixes'][] = t(' GST inc.');
       // Ensure that all the parts are there when the data comes from Views.
       if (!isset($node->type) || !isset($node->sell_price) || !isset($node->shippable)) {
         $node = node_load($node->nid);
@@ -144,21 +143,29 @@
   $taxes = uc_taxes_rate_load();
   if ($node->type == 'product_kit') {
     // Special case for product kits; calculate GST per-product including any kit discount.
+
+    // Flag as not taxed yet, used to check if suffixes should be added
+    $kit_taxed = FALSE;
     foreach ($node->products as $product) {
       foreach ($taxes as $tax) {
         if (in_array($product->type, $tax->taxed_product_types) && ($tax->shippable == 0 || $product->shippable == 1)) {
           // This uses the original sell_price, which will not necessarily be correct if another price alterer is enabled.
           // Instead, should we try to proportionally back-calculate the individual product prices from the price we were passed?
           $price['price'] += ($product->sell_price + $product->discount) * $product->qty * $tax->rate;
+          // flag as taxed 
+          $kit_taxed = TRUE;
         }
       }
     }
+    // Add suffixes
+    if ($kit_taxed) $options['suffixes'][] = t(' GST inc.');
   }
   else {
     $taxed_price = $price['price'];
     foreach ($taxes as $tax) {
       if (in_array($node->type, $tax->taxed_product_types) && ($tax->shippable == 0 || $node->shippable == 1)) {
         $price['price'] += $taxed_price * $tax->rate;
+        $options['suffixes'][] = t(' GST inc.');
       }
     }
   }
