diff --git a/src/engine_maketasks.c b/src/engine_maketasks.c
index b01eeb0d1d25aa5807d179f2f62ec6cbc9da77a0..aaf8bc677b3cd6de21cdbf8d74393263a816f82f 100644
--- a/src/engine_maketasks.c
+++ b/src/engine_maketasks.c
@@ -788,7 +788,7 @@ void engine_make_hierarchical_tasks_hydro(struct engine *e, struct cell *c) {
         scheduler_addunlock(s, c->super->kick2, c->stars.stars_in);
         scheduler_addunlock(s, c->stars.stars_out, c->super->timestep);
 
-        if (with_star_formation) {
+        if (with_star_formation && c->hydro.count > 0) {
           scheduler_addunlock(s, c->top->hydro.star_formation,
                               c->stars.stars_in);
         }