Index: uc_taxes.js
===================================================================
--- uc_taxes.js	(revision 178)
+++ uc_taxes.js	(working copy)
@@ -45,13 +45,17 @@
         var i;
         var j;
         for (j in taxes) {
-          key = 'tax_' + taxes[j].id;
-          // Check that this tax is a new line item, or updates its amount.
-          if (li_values[key] == undefined || li_values[key] != taxes[j].amount) {
-            set_line_item(key, taxes[j].name, taxes[j].amount, Drupal.settings.ucTaxWeight + taxes[j].weight / 10, taxes[j].summed, false);
-
-            // Set flag to render all line items at once.
-            render = true;
+          // With the loop above the stupid IE goes inside even if the array is empty,
+          // this is why I have added the conditional below.
+          if (taxes[j].id !== undefined) {
+            key = 'tax_' + taxes[j].id;
+            // Check that this tax is a new line item, or updates its amount.
+            if (li_values[key] == undefined || li_values[key] != taxes[j].amount) {
+              set_line_item(key, taxes[j].name, taxes[j].amount, Drupal.settings.ucTaxWeight + taxes[j].weight / 10, taxes[j].summed, false);
+  
+              // Set flag to render all line items at once.
+              render = true;
+            }
           }
         }
         var found;
