diff --git a/uc_cart/uc_cart.admin.inc b/uc_cart/uc_cart.admin.inc
index da325e2..74d6913 100644
--- a/uc_cart/uc_cart.admin.inc
+++ b/uc_cart/uc_cart.admin.inc
@@ -327,6 +327,11 @@ function uc_cart_checkout_settings_form($form, &$form_state) {
     }
   }
 
+  $form['checkout']['uc_cart_default_same_address'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use the same address for billing and delivery by default.'),
+    '#default_value' => variable_get('uc_cart_default_same_address', FALSE),
+  );
   $form['checkout']['uc_cart_delivery_not_shippable'] = array(
     '#type' => 'checkbox',
     '#title' => t('Hide delivery information when carts have no shippable items.'),
diff --git a/uc_cart/uc_cart_checkout_pane.inc b/uc_cart/uc_cart_checkout_pane.inc
index 36abbfd..62497f1 100644
--- a/uc_cart/uc_cart_checkout_pane.inc
+++ b/uc_cart/uc_cart_checkout_pane.inc
@@ -226,6 +226,7 @@ function uc_checkout_pane_address($pane, $op, $order, &$form_state, $description
         $contents['copy_address'] = array(
           '#type' => 'checkbox',
           '#title' => $copy,
+          '#default_value' => variable_get('uc_cart_default_same_address', FALSE),
           '#ajax' => array(
             'callback' => 'uc_checkout_pane_address_render',
             'wrapper' => $pane . '-address-pane',
@@ -260,11 +261,17 @@ function uc_checkout_pane_address($pane, $op, $order, &$form_state, $description
         '#type' => 'uc_address',
         '#default_value' => $order,
         '#key_prefix' => $pane,
-        '#hidden' => !empty($form_state['values']['panes'][$pane]['copy_address']),
         '#prefix' => '<div id="' . $pane . '-address-pane">',
         '#suffix' => '</div>',
       );
 
+      if (isset($form_state['values']['panes'][$pane]['copy_address'])) {
+        $contents['address']['#hidden'] = !empty($form_state['values']['panes'][$pane]['copy_address']);
+      }
+      elseif (isset($contents['copy_address'])) {
+        $contents['address']['#hidden'] = variable_get('uc_cart_default_same_address', FALSE);
+      }
+
       if (isset($form_state['triggering_element'])) {
         $element = &$form_state['triggering_element'];
 
