diff --git a/commerce.module b/commerce.module
index 4bf0c48..683425f 100644
--- a/commerce.module
+++ b/commerce.module
@@ -451,6 +451,9 @@ function commerce_currency_amount_to_integer($amount, $currency_code) {
     $factors[$currency_code] = pow(10, $currency['decimals']);
   }
 
+  // Ensure the amount has the proper number of decimal places for the currency.
+  $amount = commerce_currency_round($amount, commerce_currency_load($currency_code));
+
   return $amount * $factors[$currency_code];
 }
 
