diff --git a/shipping/uc_quote/uc_quote.module b/shipping/uc_quote/uc_quote.module
index 8057f1e..bd48104 100644
--- a/shipping/uc_quote/uc_quote.module
+++ b/shipping/uc_quote/uc_quote.module
@@ -369,6 +369,11 @@ function uc_quote_uc_order_pane() {
 function uc_quote_uc_order($op, $order, $arg2) {
   switch ($op) {
     case 'save':
+      // If session var asume changed shipping method and overwrite
+      if (isset($_SESSION['quote'])) {
+        $order->quote = $_SESSION['quote'];
+        unset($_SESSION['quote']);
+      }
       if (isset($order->quote['method'])) {
         db_merge('uc_order_quotes')
           ->key(array('order_id' => $order->order_id))
@@ -828,6 +833,13 @@ function uc_quote_apply_quote_to_order($form, &$form_state) {
 
       // Update line items.
       $order->line_items = uc_order_load_line_items($order);
+      
+      // Save shipping in session in order to save it in hook_uc_order
+      $_SESSION['quote'] = array(
+              'method' => $order->quote['method'],
+              'accessorials' => $order->quote['accessorials'],
+              'rate' => $order->quote['rate'],
+      );
     }
   }
 }
