--- uc_authorizenet.module	Thu Jan 21 15:57:01 2010
+++ uc_authorizenet.module	Thu Jan 21 15:32:28 2010
@@ -228,6 +228,9 @@
   switch ($data['txn_type']) {
     // Reference transactions are handled through Authorize.Net's CIM.
     case UC_CREDIT_REFERENCE_TXN:
+      if ($amount == 0.00) {
+        return array('success' => TRUE, 'message' => t('$0.00 transaction treated as successful charge.'));      
+      }
       return _uc_authorizenet_cim_profile_charge($order, $amount, $data);
 
     // Set a reference only.
