diff --git a/src/scheduler.c b/src/scheduler.c
index 37fdb253e2ce48353150311c6cc2aa8612fc6ea9..0d7c8c4754bac931c7886200176e3e9441c63c53 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -1027,25 +1027,6 @@ void scheduler_enqueue_mapper(void *map_data, int num_elements,
   struct task *tasks = s->tasks;
   for (int ind = 0; ind < num_elements; ind++) {
     struct task *t = &tasks[tid[ind]];
-    
-#ifdef WITH_MPI
-    /* If this is a recv task, enqueue the MPI call. */
-    if (t->type == task_type_recv) {
-      int err;
-      if (t->subtype == task_subtype_tend) {
-        t->buff = malloc(sizeof(int) * t->ci->pcell_size);
-        err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID,
-                        t->flags, MPI_COMM_WORLD, &t->req);
-      } else {
-        err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type,
-                        t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req);
-      }
-      if (err != MPI_SUCCESS) {
-        mpi_error(err, "Failed to emit irecv for particle data.");
-      }
-    }
-#endif
-    
     if (atomic_dec(&t->wait) == 1 && !t->skip) {
       scheduler_enqueue(s, t);
     }
@@ -1179,17 +1160,17 @@ void scheduler_enqueue(struct scheduler *s, struct task *t) {
         break;
       case task_type_recv:
 #ifdef WITH_MPI
-        // if (t->subtype == task_subtype_tend) {
-        //   t->buff = malloc(sizeof(int) * t->ci->pcell_size);
-        //   err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID,
-        //                   t->flags, MPI_COMM_WORLD, &t->req);
-        // } else {
-        //   err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type,
-        //                   t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req);
-        // }
-        // if (err != MPI_SUCCESS) {
-        //   mpi_error(err, "Failed to emit irecv for particle data.");
-        // }
+        if (t->subtype == task_subtype_tend) {
+          t->buff = malloc(sizeof(int) * t->ci->pcell_size);
+          err = MPI_Irecv(t->buff, t->ci->pcell_size, MPI_INT, t->ci->nodeID,
+                          t->flags, MPI_COMM_WORLD, &t->req);
+        } else {
+          err = MPI_Irecv(t->ci->parts, t->ci->count, part_mpi_type,
+                          t->ci->nodeID, t->flags, MPI_COMM_WORLD, &t->req);
+        }
+        if (err != MPI_SUCCESS) {
+          mpi_error(err, "Failed to emit irecv for particle data.");
+        }
         // message( "receiving %i parts with tag=%i from %i to %i." ,
         //     t->ci->count , t->flags , t->ci->nodeID , s->nodeID );
         // fflush(stdout);