diff --git a/cpu/native/periph/timer.c b/cpu/native/periph/timer.c
index 3ce06baa74b59b4d1ee6e529ec97d62677dd740c..c31ae522434431179eb477a3d45c3e3f3c9ae562 100644
--- a/cpu/native/periph/timer.c
+++ b/cpu/native/periph/timer.c
@@ -135,15 +135,7 @@ int timer_set(tim_t dev, int channel, unsigned int offset)
 int timer_set_absolute(tim_t dev, int channel, unsigned int value)
 {
     uint32_t now = timer_read(dev);
-    int64_t target = (int32_t)(value - now);
-
-    DEBUG("timer_set_absolute(): delta=%lli\n", target);
-    if (target < 0 && target > -NATIVE_TIMER_MIN_RES) {
-        DEBUG("timer_set_absolute(): preventing underflow.\n");
-        target = NATIVE_TIMER_MIN_RES;
-    }
-
-    return timer_set(dev, channel, target);
+    return timer_set(dev, channel, value - now);
 }
 
 int timer_clear(tim_t dev, int channel)