--- shipping/uc_usps/uc_usps.module.old	2011-07-25 02:58:10.000000000 -0400
+++ shipping/uc_usps/uc_usps.module	2011-08-17 21:56:48.067969000 -0400
@@ -733,6 +733,20 @@ function _uc_usps_package_products($prod
           $key = $last_key;
         }
       }
+      
+      // Grab some product properties directly from the (cached) product
+      // data.  They are not normally available here because the $product
+      // object is being read out of the $order object rather than from
+      // the database, and the $order object only carries around a limited
+      // number of product properties.
+      $temp = node_load($product->nid);
+      $product->length = $temp->length;
+      $product->width = $temp->width;
+      $product->height = $temp->height;
+      $product->length_units = $temp->length_units;
+      $product->usps['container'] = isset($temp->usps['container']) ? $temp->usps['container'] : 'VARIABLE';
+      $product->weight_units = $temp->weight_units;
+      
       if (!isset($product->pkg_qty) || !$product->pkg_qty) {
         $product->pkg_qty = 1;
       }
@@ -758,17 +772,8 @@ function _uc_usps_package_products($prod
              break;
         }
 
-        // Grab some product properties directly from the (cached) product
-        // data.  They are not normally available here because the $product
-        // object is being read out of the $order object rather than from
-        // the database, and the $order object only carries around a limited
-        // number of product properties.
-        $temp = node_load($product->nid);
-        $product->length = $temp->length;
-        $product->width = $temp->width;
-        $product->height = $temp->height;
-        $product->length_units = $temp->length_units;
-        $product->usps['container'] = isset($temp->usps['container']) ? $temp->usps['container'] : 'VARIABLE';
+        
+        
 
         $package->container = $product->usps['container'];
         $length_conversion = uc_length_conversion($product->length_units, 'in');
