--- payment/uc_authorizenet/uc_authorizenet.module	2010-06-22 15:16:24.000000000 -0700
+++ payment/uc_authorizenet/uc_authorizenetNew.module	2010-06-22 15:17:07.000000000 -0700
@@ -246,6 +246,17 @@ function uc_authorizenet_payment_gateway
 function uc_authorizenet_charge($order_id, $amount, $data) {
   // Load the order.
   $order = uc_order_load($order_id);
+  
+  // if the amount is zero create the CIM profile only.
+  if ($amount == 0){
+    // Return the error message if this failed.
+    if ($message = _uc_authorizenet_cim_profile_create($order)) {
+      return array('success' => FALSE, 'message' => $message);
+    }
+    else {
+      return array('success' => TRUE, 'message' => t('New customer profile created successfully at Authorize.Net.'));
+    }
+  }
 
   // Perform the appropriate action based on the transaction type.
   switch ($data['txn_type']) {
