diff --git a/includes/commerce_shipping.checkout_pane.inc b/includes/commerce_shipping.checkout_pane.inc
index 9a60748..35401b5 100644
--- a/includes/commerce_shipping.checkout_pane.inc
+++ b/includes/commerce_shipping.checkout_pane.inc
@@ -277,7 +277,11 @@ function commerce_shipping_recalculate_services_submit($form, &$form_state) {
 
   // Save the order and rebuild the form to reflect the updated customer data.
   if ($rebuild) {
-    commerce_order_save($order);
+    // Avoid overwriting an already updated order.
+    $stored_order = commerce_order_load($order->order_id);
+    if ($stored_order->changed < $order->changed) {
+      commerce_order_save($order);
+    }
     $form_state['rebuild'] = TRUE;
   }
 }
