diff --git a/quiche/quic/core/quic_bandwidth.h b/quiche/quic/core/quic_bandwidth.h
index b657228..33356ab 100644
--- a/quiche/quic/core/quic_bandwidth.h
+++ b/quiche/quic/core/quic_bandwidth.h
@@ -111,7 +111,7 @@
                                            QuicBandwidth rhs);
   friend constexpr QuicBandwidth operator-(QuicBandwidth lhs,
                                            QuicBandwidth rhs);
-  friend constexpr QuicBandwidth operator*(QuicBandwidth lhs, float rhs);
+  friend QuicBandwidth operator*(QuicBandwidth lhs, float rhs);
 };
 
 // Non-member relational operators for QuicBandwidth.
@@ -141,7 +141,7 @@
 inline constexpr QuicBandwidth operator-(QuicBandwidth lhs, QuicBandwidth rhs) {
   return QuicBandwidth(lhs.bits_per_second_ - rhs.bits_per_second_);
 }
-inline constexpr QuicBandwidth operator*(QuicBandwidth lhs, float rhs) {
+inline QuicBandwidth operator*(QuicBandwidth lhs, float rhs) {
   return QuicBandwidth(
       static_cast<int64_t>(std::llround(lhs.bits_per_second_ * rhs)));
 }
diff --git a/quiche/quic/core/quic_time.h b/quiche/quic/core/quic_time.h
index d6c24b5..21bad68 100644
--- a/quiche/quic/core/quic_time.h
+++ b/quiche/quic/core/quic_time.h
@@ -89,8 +89,8 @@
                                                       QuicTime::Delta rhs);
     friend inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs,
                                                       int rhs);
-    friend inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs,
-                                                      double rhs);
+    // Not constexpr since std::llround() is not constexpr.
+    friend inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs);
 
     friend inline QuicTime operator+(QuicTime lhs, QuicTime::Delta rhs);
     friend inline QuicTime operator-(QuicTime lhs, QuicTime::Delta rhs);
@@ -257,7 +257,7 @@
 inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs, int rhs) {
   return QuicTime::Delta(lhs.time_offset_ * rhs);
 }
-inline constexpr QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs) {
+inline QuicTime::Delta operator*(QuicTime::Delta lhs, double rhs) {
   return QuicTime::Delta(static_cast<int64_t>(
       std::llround(static_cast<double>(lhs.time_offset_) * rhs)));
 }
