diff --git a/lib/quicly.c b/lib/quicly.c
index 95d5f13..3f4fd18 100644
--- a/lib/quicly.c
+++ b/lib/quicly.c
@@ -351,7 +351,10 @@ static __thread int64_t now;
 
 static void update_now(quicly_context_t *ctx)
 {
-    now = ctx->now->cb(ctx->now);
+  int64_t newval = ctx->now->cb(ctx->now);
+
+  if (now < newval)
+    now = newval;
 }
 
 /**