diff --git a/src/runner.c b/src/runner.c
index 330c9cbc2f473b46f1818213d94197e7164c073a..8bd8fa32528ec8426780657cbf5e6178dc422c9a 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -2401,6 +2401,9 @@ void runner_do_limiter(struct runner *r, struct cell *c, int force, int timer) {
       struct part *restrict p = &parts[k];
       struct xpart *restrict xp = &xparts[k];
 
+      /* Avoid inhibited particles */
+      if (part_is_inhibited(p, e)) continue;
+      
       /* If the particle will be active no need to wake it up */
       if (part_is_active(p, e) && p->wakeup != time_bin_not_awake)
         p->wakeup = time_bin_not_awake;
diff --git a/src/space.c b/src/space.c
index 0b3caac788d19d1098f5bf3496581bdf43d2c87d..8b2b9b500820a36f4e63c5c8633ce692118121e8 100644
--- a/src/space.c
+++ b/src/space.c
@@ -4286,6 +4286,9 @@ void space_check_limiter_mapper(void *map_data, int nr_parts,
 
   /* Verify that all limited particles have been treated */
   for (int k = 0; k < nr_parts; k++) {
+
+    if (parts[k].time_bin == time_bin_inhibited) continue;
+    
     if (parts[k].wakeup == time_bin_awake)
       error("Particle still woken up! id=%lld", parts[k].id);