diff --git a/src/core/timer.c b/src/core/timer.c index e283a97983..a45e0c393f 100644 --- a/src/core/timer.c +++ b/src/core/timer.c @@ -486,7 +486,8 @@ static void timer_enter_waiting(Timer *t, bool time_change) { assert_not_reached(); } - v->next_elapse = usec_add(usec_shift_clock(base, CLOCK_MONOTONIC, TIMER_MONOTONIC_CLOCK(t)), v->value); + if (!time_change) + v->next_elapse = usec_add(usec_shift_clock(base, CLOCK_MONOTONIC, TIMER_MONOTONIC_CLOCK(t)), v->value); if (dual_timestamp_is_set(&t->last_trigger) && !time_change &&