diff --git a/modules/checkout/commerce_checkout.js b/modules/checkout/commerce_checkout.js
old mode 100644
new mode 100755
index ee6e723..0f0de16
--- a/modules/checkout/commerce_checkout.js
+++ b/modules/checkout/commerce_checkout.js
@@ -13,6 +13,19 @@
         $this.clone().insertAfter(this).attr('disabled', true).after(Drupal.theme('checkoutProcessing'));
         $this.hide();
       });
+            
+      if (this.lastFocused) {
+        $('[name="' + this.lastFocused + '"]', context).focus();
+        this.lastFocused = null;
+      }
+    },
+
+    detach: function (context, settings, trigger) {
+      var $focused = $(document.activeElement);
+      
+      this.lastFocused = $(context)
+        .filter('[id^="addressfield-wrapper"]')
+        .has($focused).length > 0 ? $focused.attr('name') : null;
     }
   }
 
