Index: shipping/uc_ups/uc_ups.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/shipping/uc_ups/uc_ups.module,v
retrieving revision 1.5.2.26
diff -u -p -r1.5.2.26 uc_ups.module
--- shipping/uc_ups/uc_ups.module	11 Feb 2011 04:31:18 -0000	1.5.2.26
+++ shipping/uc_ups/uc_ups.module	11 Feb 2011 17:58:04 -0000
@@ -766,9 +766,13 @@ function uc_ups_quote($products, $detail
         }
       }
       if (!$product->pkg_qty) {
-        $product->pkg_qty = 1;
+        $num_of_pkgs = 0;
+        $remaining_qty = $product->qty;
+      }
+      else {
+        $num_of_pkgs = (int)($product->qty / $product->pkg_qty);
+        $remaining_qty = $product->qty % $product->pkg_qty;
       }
-      $num_of_pkgs = (int)($product->qty / $product->pkg_qty);
       if ($num_of_pkgs) {
         $package = drupal_clone($product);
         $package->description = $product->model;
@@ -780,7 +784,6 @@ function uc_ups_quote($products, $detail
           $packages[$key][] = $package;
         }
       }
-      $remaining_qty = $product->qty % $product->pkg_qty;
       if ($remaining_qty) {
         $package = drupal_clone($product);
         $package->description = $product->model;
Index: shipping/uc_usps/uc_usps.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/shipping/uc_usps/uc_usps.module,v
retrieving revision 1.6.2.24
diff -u -p -r1.6.2.24 uc_usps.module
--- shipping/uc_usps/uc_usps.module	28 Nov 2010 23:48:09 -0000	1.6.2.24
+++ shipping/uc_usps/uc_usps.module	11 Feb 2011 17:58:04 -0000
@@ -615,9 +615,13 @@ function _uc_usps_package_products($prod
         }
       }
       if (!$product->pkg_qty) {
-        $product->pkg_qty = 1;
+        $num_of_pkgs = 0;
+        $remaining_qty = $product->qty;
+      }
+      else {
+        $num_of_pkgs = (int)($product->qty / $product->pkg_qty);
+        $remaining_qty = $product->qty % $product->pkg_qty;
       }
-      $num_of_pkgs = (int)($product->qty / $product->pkg_qty);
       if ($num_of_pkgs) {
         $package = drupal_clone($product);
         $package->description = $product->model;
@@ -670,7 +674,6 @@ function _uc_usps_package_products($prod
         $package->qty = $num_of_pkgs;
         $packages[$key][] = $package;
       }
-      $remaining_qty = $product->qty % $product->pkg_qty;
       if ($remaining_qty) {
         $package = drupal_clone($product);
         $package->description = $product->model;
Index: uc_product/uc_product.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_product/uc_product.module,v
retrieving revision 1.14.2.49
diff -u -p -r1.14.2.49 uc_product.module
--- uc_product/uc_product.module	4 Feb 2011 07:07:01 -0000	1.14.2.49
+++ uc_product/uc_product.module	11 Feb 2011 17:58:06 -0000
@@ -544,9 +544,9 @@ function uc_product_form(&$node) {
     '#size' => 10,
   );
   $form['base']['pkg_qty'] = array('#type' => 'textfield',
-    '#title' => t('Package quantity'),
-    '#default_value' => isset($node->pkg_qty) ? $node->pkg_qty : 1,
-    '#description' => t('For a package containing only this product, how many are in it?'),
+    '#title' => t('Maximum package quantity'),
+    '#default_value' => isset($node->pkg_qty) ? $node->pkg_qty : 0,
+    '#description' => t('At most, how many of these items can fit in your largest box? Orders that exceed this value will be split into multiple packages when retrieving shipping quotes. Use "0" to mean unlimited if you always ship in one box.'),
     '#weight' => 25,
   );
   $form['base']['default_qty'] = array('#type' => 'textfield',
@@ -1251,7 +1251,7 @@ function uc_product_product_class($pcid,
         if (!$node->unique_hash) {
           $node->weight_units = variable_get('uc_weight_unit', 'lb');
           $node->length_units = variable_get('uc_length_unit', 'in');
-          $node->pkg_qty = 1;
+          $node->pkg_qty = 0;
           $node->default_qty = 1;
           $node->shippable = 1;
           uc_product_insert($node);
