diff --git a/src/scheduler.c b/src/scheduler.c
index 6d721f96d899cc76eb9d500ffde7a48423e5fd4f..62b792e0c8f45feaf722c2fecdf4860b1d2d645f 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -138,6 +138,8 @@ static void scheduler_splittask(struct task *t, struct scheduler *s) {
         ((t->type == task_type_timestep) && t->ci->nodeID != s->nodeID) ||
         ((t->type == task_type_init) && t->ci->nodeID != s->nodeID)) {
       t->type = task_type_none;
+      t->subtype = task_subtype_none;
+      t->cj = NULL;
       t->skip = 1;
       break;
     }
@@ -1083,6 +1085,8 @@ void scheduler_start(struct scheduler *s) {
       struct cell *ci = t->ci;
       struct cell *cj = t->cj;
 
+      if (t->type == task_type_none) continue;
+
       /* Don't check MPI stuff */
       if (t->type == task_type_send || t->type == task_type_recv) continue;