diff --git a/src/strtod.cc b/src/strtod.cc
index 34717562bd4d492b2d2b81b47f8631809d452d71..17abcbb2a557b5e1973b655a9471008349b8acbf 100644
--- a/src/strtod.cc
+++ b/src/strtod.cc
@@ -286,7 +286,7 @@ static bool DiyFpStrtod(Vector<const char> buffer,
   const int kDenominator = 1 << kDenominatorLog;
   // Move the remaining decimals into the exponent.
   exponent += remaining_decimals;
-  int error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
+  uint64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
 
   int old_e = input.e();
   input.Normalize();