diff --git a/sys/xtimer/xtimer_core.c b/sys/xtimer/xtimer_core.c
index 0e1ceaf2e1696c369fc59ee6b39577a3d9be276e..0e3a6a729f34d3d0467434b8a8e54deae37a1386 100644
--- a/sys/xtimer/xtimer_core.c
+++ b/sys/xtimer/xtimer_core.c
@@ -121,8 +121,10 @@ void xtimer_set(xtimer_t *timer, uint32_t offset)
     uint32_t target = xtimer_now() + offset;
 
     if (offset < XTIMER_BACKOFF) {
-        /* spin until timer should be run */
-        xtimer_spin_until(target);
+        if (offset > 1) {
+            /* spin until timer should be run */
+            xtimer_spin_until(target);
+        }
 
         _shoot(timer);
     }