diff --git a/src/scheduler.c b/src/scheduler.c
index ca296a8196dd16700dd5e3fc3f9a7f408e9a5021..a776d8e4421dbbed4e0240b34243a573854c9a26 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -718,8 +718,8 @@ static void scheduler_splittask_hydro(struct task *t, struct scheduler *s) {
 
           t->ci = ci->progeny[csp->pairs[0].pid];
           t->cj = cj->progeny[csp->pairs[0].pjd];
-          cell_set_flag(t->ci, cell_flag_has_tasks);
-          if (t->cj != NULL)cell_set_flag(t->cj, cell_flag_has_tasks);
+          if (t->ci != NULL) cell_set_flag(t->ci, cell_flag_has_tasks);
+          if (t->cj != NULL) cell_set_flag(t->cj, cell_flag_has_tasks);
 
           t->flags = csp->pairs[0].sid;
           for (int k = 1; k < csp->count; k++) {