diff --git a/sys/ztimer/periodic.c b/sys/ztimer/periodic.c index ddd82b8d771c..9a06ba947f82 100644 --- a/sys/ztimer/periodic.c +++ b/sys/ztimer/periodic.c @@ -57,7 +57,10 @@ void ztimer_periodic_init(ztimer_clock_t *clock, ztimer_periodic_t *timer, bool (*callback)( void *), void *arg, uint32_t interval) { - ztimer_remove(clock, &timer->timer); + /* check if this is a reinit try*/ + if (timer->timer.callback == _ztimer_periodic_callback){ + return; + } *timer = (ztimer_periodic_t){ .clock = clock, .interval = interval, .callback = callback, .arg = arg,