diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
index 2440da272891552f57ecfe6804c6252ee423eb5f..f30ebe3836984330abe1a153cc160222d90a309a 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp
@@ -1,20 +1,18 @@
 #include "NodeIndicesMultiGPU.h"
 
-NodeIndicesMultiGPU::NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder)
+NodeIndicesMultiGPU::NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes,
+                                         const std::vector<const std::vector<uint> *> *geoFluidNodesIndices)
 {
-    std::vector<std::shared_ptr<Grid>> grids = gridBuilder->getGrids();
-    for (uint i = 0; i < grids.size(); i++) {
-        geoFluidSize.push_back(grids[i]->getGeoFluidSize());
-        geoFluidNodeIndices.push_back(grids[i]->getGeoFluidNodes());
-    }
+    this->geoFluidSizes = geoFluidSizes;
+    this->geoFluidNodeIndices = geoFluidNodesIndices;
 }
 
 uint NodeIndicesMultiGPU::getGeoFluidSize(uint gridNumber) 
 { 
-    return this->geoFluidSize[gridNumber]; 
+    return (*this->geoFluidSizes)[gridNumber];
 }
 
 const std::vector<uint>* NodeIndicesMultiGPU::getGeoFluidNodeIndices(uint gridNumber)
 {
-    return this->geoFluidNodeIndices[gridNumber];
+    return (*this->geoFluidNodeIndices)[gridNumber];
 }
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
index abe44273e13396e0d103fdf65d55b964f2f7eaea..4544864a3eb5d644d874e1c0f75afa6f557764c9 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h
@@ -1,15 +1,14 @@
 #include <vector>
 #include <memory>
-
-#include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h"
+#include "basics/Core/DataTypes.h"
 
 class NodeIndicesMultiGPU
 {
-    std::vector<uint> geoFluidSize;
-    std::vector<const std::vector<uint>*> geoFluidNodeIndices; 
+    const std::vector<uint> *geoFluidSizes;
+    const std::vector<const std::vector<uint>*> *geoFluidNodeIndices; 
 
 public:
-    NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder);
+    NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes, const std::vector<const std::vector<uint> *> * geoFluidNodes);
 
     uint getGeoFluidSize(uint gridNumber);
     const std::vector<uint>* getGeoFluidNodeIndices(uint gridNumber);