Index: modules/ecommerce/contrib/shipcalc/partners/ups.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ecommerce/contrib/shipcalc/partners/ups.inc,v
retrieving revision 1.3
diff -u -r1.3 ups.inc
--- modules/ecommerce/contrib/shipcalc/partners/ups.inc	21 Jul 2006 13:57:23 -0000	1.3
+++ modules/ecommerce/contrib/shipcalc/partners/ups.inc	10 Aug 2006 23:14:32 -0000
@@ -278,7 +278,8 @@
           $currency = _parse_xml($total, '<CurrencyCode>');
           $value = _parse_xml($total, '<MonetaryValue>');
 
-          $rates[key($method)] = array(
+          $rates[] = array(
+            '#service' => 'ups',
             '#key' => key($method),
             '#cost' => $value,
             '#currency' => $currency,
Index: modules/ecommerce/contrib/shipcalc/partners/usps.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ecommerce/contrib/shipcalc/partners/usps.inc,v
retrieving revision 1.4
diff -u -r1.4 usps.inc
--- modules/ecommerce/contrib/shipcalc/partners/usps.inc	21 Jul 2006 13:57:23 -0000	1.4
+++ modules/ecommerce/contrib/shipcalc/partners/usps.inc	10 Aug 2006 23:14:36 -0000
@@ -279,7 +279,8 @@
         if ($method = _usps_valid_service_method($service, $txn, $testing)) {
           $total = _parse_xml($rate, '<Rate>');
 
-          $rates[key($method)] = array(
+          $rates[] = array(
+            '#service' => 'usps',
             '#key' => key($method),
             '#cost' => $total,
             '#currency' => NULL,
Index: modules/ecommerce/shipping/shipping.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ecommerce/shipping/shipping.module,v
retrieving revision 1.43
diff -u -r1.43 shipping.module
--- modules/ecommerce/shipping/shipping.module	27 May 2006 06:43:50 -0000	1.43
+++ modules/ecommerce/shipping/shipping.module	10 Aug 2006 23:17:00 -0000
@@ -381,13 +381,13 @@
   if (sizeof($rates) == 1) {
     // Only one shipping method, auto select
     $rate = array_pop($rates);
-    $txn->shipping_method = $service .'__'. $rate['#key'] .'__'. $rate['#cost'] .'__'. $rate['#currency'];
+    $txn->shipping_method = $rate['#service'] .'__'. $rate['#key'] .'__'. $rate['#cost'] .'__'. $rate['#currency'];
     shipping_checkoutapi($txn, 'save');
     return;
   }
 
-  foreach ($rates as $service => $rate) {
-    $options[$service .'__'. $rate['#key'] .'__'. $rate['#cost'] .'__'. $rate['#currency']] = t('%price %currency - %method', array('%price' => $rate['#cost'], '%currency' => $rate['#currency'], '%method' => $rate['#method']));
+  foreach ($rates as $rate) {
+    $options[$rate['#service'] .'__'. $rate['#key'] .'__'. $rate['#cost'] .'__'. $rate['#currency']] = t('%price %currency - %method', array('%price' => $rate['#cost'], '%currency' => $rate['#currency'], '%method' => $rate['#method']));
   }
   $form['shipping_method'] = array(
     '#type' => 'radios',
