diff --git a/uc_coupon.module b/uc_coupon.module
index df66d56..06b0e68 100644
--- a/uc_coupon.module
+++ b/uc_coupon.module
@@ -1276,8 +1276,7 @@ function uc_coupon_uc_order($op, &$order) {
   if ($op == 'presave') {
     // Apply any session coupons to the current cart order.
     global $user;
-    if (isset($_SESSION['cart_order']) && $order->order_id == $_SESSION['cart_order']
-        && uc_order_status_data($order->order_status, 'state') == 'in_checkout' && $user->uid == $order->uid) {
+    if (_uc_coupon_is_checkout_order($order)) {
       _uc_coupon_apply_to_order($order, uc_coupon_session_validate());
     }
     // Make sure any fake cart items don't get saved with the order if the checkout page is skipped
@@ -1328,6 +1327,9 @@ function uc_coupon_checkout_update($form, $form_state) {
   if (isset($form['panes']['payment']['line_items'])) {
     $commands[] = ajax_command_replace('#line-items-div', drupal_render($form['panes']['payment']['line_items']));
   }
+  if (isset($form['panes']['quotes']['quotes'])) {
+    $commands[] = ajax_command_replace('#quote', drupal_render($form['panes']['quotes']['quotes']));
+  }
   if (variable_get('uc_coupon_show_in_cart', TRUE) && isset($form['panes']['cart']['cart_review_table'])) {
     $commands[] = ajax_command_html('#cart-pane>div', drupal_render($form['panes']['cart']['cart_review_table']));
   }
@@ -1495,6 +1497,14 @@ function uc_coupon_form_submit($form, $form_state) {
   }
 }
 
+function _uc_coupon_is_checkout_order($order) {
+  global $user;
+  return isset($_SESSION['cart_order'])
+    && $order->order_id == $_SESSION['cart_order']
+    && uc_order_status_data($order->order_status, 'state') == 'in_checkout'
+    && $user->uid == $order->uid;
+}
+
 /**
  * Apply a set of coupons to an order.
  *
