diff --git a/uc_taxes/uc_taxes.module b/uc_taxes/uc_taxes.module
index d5b998a..6771fd1 100644
--- a/uc_taxes/uc_taxes.module
+++ b/uc_taxes/uc_taxes.module
@@ -307,16 +307,13 @@ function uc_line_item_tax_subtotal($op, $order) {
       }
       if (is_array($order->line_items)) {
         foreach ($order->line_items as $key => $line_item) {
-          if ($line_item['type'] == 'subtotal') {
-            continue;
+          if ($line_item['type'] == 'tax') {
+            $has_taxes = TRUE;
           }
-          if (substr($line_item['type'], 0, 3) != 'tax') {
+          if (_uc_line_item_data($line_item['type'], 'calculated') == TRUE) {
             $amount += $line_item['amount'];
             $different = TRUE;
           }
-          else {
-            $has_taxes = TRUE;
-          }
         }
       }
 
