diff --git a/cpu/native/periph/timer.c b/cpu/native/periph/timer.c
index 50c45b97b0df9b9e2d9f36529e45db096f5ef1e1..bb6023a2e3372d9de306226b70d97e595f6a37a2 100644
--- a/cpu/native/periph/timer.c
+++ b/cpu/native/periph/timer.c
@@ -117,9 +117,12 @@ static void do_timer_set(unsigned int offset)
 int timer_set(tim_t dev, int channel, unsigned int offset)
 {
     (void)dev;
-    (void)channel;
     DEBUG("%s\n", __func__);
 
+    if (channel != 0) {
+        return -1;
+    }
+
     if (!offset) {
         offset = NATIVE_TIMER_MIN_RES;
     }
@@ -140,9 +143,7 @@ int timer_set_absolute(tim_t dev, int channel, unsigned int value)
         target = NATIVE_TIMER_MIN_RES;
     }
 
-    timer_set(dev, channel, target);
-
-    return 1;
+    return timer_set(dev, channel, target);
 }
 
 int timer_clear(tim_t dev, int channel)