--- uc_free_order.js_cvs.js	2008-11-19 11:18:57.000000000 +0000
+++ uc_free_order.js	2008-11-05 18:05:38.000000000 +0000
@@ -1,4 +1,4 @@
-// $Id: uc_free_order.js,v 1.1 2008/11/11 01:31:29 rszrama Exp $
+// $Id$
 
 var uc_free_order_next_method = '';
 var using_free_order = -1;
@@ -19,19 +19,23 @@
 
   if (total >= .01) {
     // Disable the free order option and select the first available method.
-    if (using_free_order != 0) {
+    if (using_free_order == 0) {
       // Show the other payment method radios.
       $("#payment-pane .form-radios input:radio").removeAttr('disabled').parent().show(0);
 
       // Hide the free order radio.
       $("input:radio[@value=free_order]").attr('disabled', 'disabled').parent().hide(0);
 
+      // Find first available payment option
+      var firstmethod = $(':radio[name="panes[payment][payment_method]"]:first');
+      uc_free_order_next_method = firstmethod.val();
+
       // Select the first payment method.
       $("input:radio[@value=" + uc_free_order_next_method + "]").attr('checked', 'checked');
 
       // Refresh the payment details section.
       get_payment_details('cart/checkout/payment_details/' + uc_free_order_next_method);
-
+    } else {
       using_free_order = 0;
     }
   }
@@ -40,7 +44,7 @@
     if (using_free_order != 1) {
       // Hide the fallback payment method radio.
       $("#payment-pane .form-radios input:radio").attr('disabled', 'disabled').parent().hide(0);
-
+      
       // Show and select the gift card.
       $("input:radio[@value=free_order]").removeAttr('disabled').attr('checked', 'checked').parent().show(0);
 
