diff --git a/payment/uc_authorizenet/uc_authorizenet.module b/payment/uc_authorizenet/uc_authorizenet.module
index eafc989..9817189 100644
--- a/payment/uc_authorizenet/uc_authorizenet.module
+++ b/payment/uc_authorizenet/uc_authorizenet.module
@@ -395,7 +395,7 @@ function _uc_authorizenet_cim_profile_charge_request($order, $amount, $data) {
       'refId' => substr($order->order_id .'-'. time(), 0, 20),
       'transaction' => array(
         'profileTransAuthCapture' => array(
-          'amount' => $amount,
+          'amount' => _uc_authorizenet_format_amount($amount),
           'customerProfileId' => $profile['customerProfileId'],
           'customerPaymentProfileId' => $profile['customerPaymentProfileId'],
           'order' => array(
@@ -456,16 +456,6 @@ function _uc_authorizenet_charge($order, $amount, $data) {
   $billing_country = uc_get_country_data(array('country_id' => $order->billing_country));
   $delivery_country = uc_get_country_data(array('country_id' => $order->delivery_country));
 
-  $context = array(
-    'revision' => 'formatted-original',
-    'type' => 'amount',
-  );
-  $options = array(
-    'sign' => FALSE,
-    'thou' => FALSE,
-    'dec' => '.',
-  );
-
   // Build the POST data for the transaction.
   $submit_data = array(
     // Merchant Information
@@ -478,7 +468,7 @@ function _uc_authorizenet_charge($order, $amount, $data) {
     // 'x_method' => $order->payment_method == 'credit' ? 'CC' : 'ECHECK',
     'x_method' => 'CC',
     // 'x_recurring_billing' => 'FALSE',
-    'x_amount' => uc_price($amount, $context, $options),
+    'x_amount' => _uc_authorizenet_format_amount($amount),
     'x_card_num' => $order->payment_details['cc_number'],
     'x_exp_date' => $order->payment_details['cc_exp_month'] .'/'. $order->payment_details['cc_exp_year'],
     'x_card_code' => $order->payment_details['cc_cvv'],
@@ -1238,3 +1228,25 @@ function _uc_authorizenet_login_data() {
 
   return $data;
 }
+
+/**
+ * Formats an amount for submission to Authorize.net.
+ *
+ * @param $amount
+ * The raw amount being submitted.
+ *
+ * @return mixed
+ * The amount formatted and rounded for use with Authorize.net.
+ */
+function _uc_authorizenet_format_amount($amount) {
+  $context = array(
+    'revision' => 'formatted-original',
+    'type' => 'amount',
+  );
+  $options = array(
+    'sign' => FALSE,
+    'thou' => FALSE,
+    'dec' => '.',
+  );
+  return uc_price($amount, $context, $options);
+}
