diff --git a/src/core/support/time.c b/src/core/support/time.c
index 0e88c65be0c43341b13a0eb89bca2080aca6457a..97243318fdaa5265a117f71c9e0a3212c5e7cc84 100644
--- a/src/core/support/time.c
+++ b/src/core/support/time.c
@@ -259,7 +259,7 @@ gpr_int32 gpr_time_to_millis(gpr_timespec t) {
   } else if (t.tv_sec <= -2147483) {
     /* TODO(ctiller): correct handling here (it's so far in the past do we
        care?) */
-    return -2147483648;
+    return -2147483647;
   } else {
     return t.tv_sec * GPR_MS_PER_SEC + t.tv_nsec / GPR_NS_PER_MS;
   }