diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
index a8f74dcc92060f5e6d136698016a1e92b6d69572..1992d0726fdc0126ad4238bac9a777b39951a26c 100644
--- a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
+++ b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
@@ -238,7 +238,7 @@ void MPIIOMigrationBECoProcessor::writeBlocks(int step)
    size = 1;
 
 	grid->deleteBlockIDs();
-	RenumberGridVisitor renumber;
+	RenumberGridVisitor renumber(comm);
 	grid->accept(renumber);
 
    if (comm->isRoot())
@@ -1407,7 +1407,7 @@ void MPIIOMigrationBECoProcessor::readBlocks(int step)
 	   int maxInitLevel = this->grid->getFinestInitializedLevel();
 	   for (int level = minInitLevel; level <= maxInitLevel; level++)
 	   {
-		  grid->getBlocks(level,/* rank,*/ blocksVector[level]);
+		  grid->getBlocks(level, blocksVector[level]);
 		  for (SPtr<Block3D> block : blocksVector[level])  //	blocks of the current level
 			 grid->deleteBlock(block);
 	   }
diff --git a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp
index 9b6bcfc24fff87551e91be98e15f10eb34bc2755..3ddb171f3bd04a52671ed58751e263e53c88cf6b 100644
--- a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp
+++ b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp
@@ -2,9 +2,10 @@
 #include "Grid3DSystem.h"
 #include "Grid3D.h"
 #include "Block3D.h"
-#include <mpi.h>
+//#include <mpi.h>
 
-RenumberGridVisitor::RenumberGridVisitor()
+RenumberGridVisitor::RenumberGridVisitor(SPtr<Communicator> com)
+ : comm(com)
 {
 }
 
@@ -17,7 +18,8 @@ void RenumberGridVisitor::visit(SPtr<Grid3D> grid)
    std::vector<SPtr<Block3D>> blocks;
    int gridRank = grid->getRank();
    int size;
-   MPI_Comm_size(MPI_COMM_WORLD, &size);
+   //MPI_Comm_size(MPI_COMM_WORLD, &size);
+   size = comm->getNumberOfProcesses();
 
    int minInitLevel = grid->getCoarsestInitializedLevel();
    int maxInitLevel = grid->getFinestInitializedLevel();
diff --git a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h
index 2682b75055aa493df3560b579a4da665efeeb476..86ea8d90e2034ac841cdfc6f2559a432b7719247 100644
--- a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h
+++ b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h
@@ -9,6 +9,7 @@
 #define RenumberGridVisitor_h
 
 #include "Grid3DVisitor.h"
+#include "Communicator.h"
 
 class Grid3D;
 
@@ -18,13 +19,14 @@ class Grid3D;
 class RenumberGridVisitor : public Grid3DVisitor
 {
 public:
-   RenumberGridVisitor();
+   RenumberGridVisitor(SPtr<Communicator> com);
 
    virtual ~RenumberGridVisitor() {}
 
    void visit(SPtr<Grid3D> grid) override;
 
-//private:
+private:
+    SPtr<Communicator> comm;
 //   static int counter;
 };