diff --git a/quiche/quic/core/quic_time.h b/quiche/quic/core/quic_time.h
index 990b90c..db913d5 100644
--- a/quiche/quic/core/quic_time.h
+++ b/quiche/quic/core/quic_time.h
@@ -57,7 +57,8 @@
   // the conversion would overflow.
   static constexpr std::optional<QuicTimeDelta> TryFromMilliseconds(
       int64_t ms) {
-    if (ms > std::numeric_limits<int64_t>::max() / 1000) {
+    if (ms > std::numeric_limits<int64_t>::max() / 1000 ||
+        ms < std::numeric_limits<int64_t>::min() / 1000) {
       return std::nullopt;
     }
     return QuicTimeDelta(ms * 1000);
diff --git a/quiche/quic/core/quic_time_test.cc b/quiche/quic/core/quic_time_test.cc
index 0f6d7d6..6877603 100644
--- a/quiche/quic/core/quic_time_test.cc
+++ b/quiche/quic/core/quic_time_test.cc
@@ -51,12 +51,12 @@
 }
 
 TEST_F(QuicTimeDeltaTest, TryFromMilliseconds) {
-  static constexpr int64_t kMaxNumMilliseconds{
-      std::numeric_limits<int64_t>::max() / 1000};
-
   EXPECT_EQ(QuicTime::Delta::TryFromMilliseconds(0), QuicTime::Delta::Zero());
   EXPECT_EQ(QuicTime::Delta::TryFromMilliseconds(2000),
             QuicTime::Delta::FromMicroseconds(2000 * 1000));
+
+  static constexpr int64_t kMaxNumMilliseconds{
+      std::numeric_limits<int64_t>::max() / 1000};
   EXPECT_THAT(
       QuicTime::Delta::TryFromMilliseconds(kMaxNumMilliseconds),
       Optional(AllOf(Property(&QuicTime::Delta::ToMicroseconds,
@@ -67,6 +67,19 @@
   // Internal conversion to microseconds would overflow `int64_t`.
   EXPECT_EQ(QuicTime::Delta::TryFromMilliseconds(kMaxNumMilliseconds + 1),
             std::nullopt);
+
+  static constexpr int64_t kMinNumMilliseconds{
+      std::numeric_limits<int64_t>::min() / 1000};
+  EXPECT_THAT(
+      QuicTime::Delta::TryFromMilliseconds(kMinNumMilliseconds),
+      Optional(AllOf(Property(&QuicTime::Delta::ToMicroseconds,
+                              kMinNumMilliseconds * 1000),
+                     // `QuicTimeDelta::TryFromMilliseconds()` will never return
+                     // an infinite duration.
+                     Property(&QuicTime::Delta::IsInfinite, IsFalse()))));
+  // Internal conversion to microseconds would overflow `int64_t`.
+  EXPECT_EQ(QuicTime::Delta::TryFromMilliseconds(kMinNumMilliseconds - 1),
+            std::nullopt);
 }
 
 TEST_F(QuicTimeDeltaTest, Add) {
