diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index b94e4b551b292b7cdea98dfa335076d338aadd53..7fceddba58dfff7c3d821a754c5a260c825fbf9b 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -2575,4 +2575,39 @@ bool Parameter::findIndexInSendNodesYZ(int level, int index)
     return false;
 }
 
+void Parameter::initNumberOfProcessNeighborsAfterFtoCX(int level)
+{
+    this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCX.resize(
+        this->getParH(level)->sendProcessNeighborX.size());
+    this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCX.resize(
+        this->getParH(level)->recvProcessNeighborX.size());
+    this->getParD(level)->numberOfSendProcessNeighborsAfterFtoCX.resize(
+        this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCX.size());
+    this->getParD(level)->numberOfRecvProcessNeighborsAfterFtoCX.resize(
+        this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCX.size());
+}
+
+void Parameter::initNumberOfProcessNeighborsAfterFtoCY(int level)
+{
+    this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCY.resize(
+        this->getParH(level)->sendProcessNeighborY.size());
+    this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCY.resize(
+        this->getParH(level)->recvProcessNeighborY.size());
+    this->getParD(level)->numberOfSendProcessNeighborsAfterFtoCY.resize(
+        this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCY.size());
+    this->getParD(level)->numberOfRecvProcessNeighborsAfterFtoCY.resize(
+        this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCY.size());
+}
+
+void Parameter::initNumberOfProcessNeighborsAfterFtoCZ(int level)
+{
+    this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCZ.resize(
+        this->getParH(level)->sendProcessNeighborZ.size());
+    this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCZ.resize(
+        this->getParH(level)->recvProcessNeighborZ.size());
+    this->getParD(level)->numberOfSendProcessNeighborsAfterFtoCZ.resize(
+        this->getParH(level)->numberOfSendProcessNeighborsAfterFtoCZ.size());
+    this->getParD(level)->numberOfRecvProcessNeighborsAfterFtoCZ.resize(
+        this->getParH(level)->numberOfRecvProcessNeighborsAfterFtoCZ.size());
+}
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index c09a50a8330794f7ed849c700badcfde11d16730..f0ff5e7222322d74ab00f353c85f8d14e433f64b 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -875,6 +875,10 @@ public:
     std::unique_ptr<CudaStreamManager> &getStreamManager();
     bool getKernelNeedsFluidNodeIndicesToRun();
 
+    void initNumberOfProcessNeighborsAfterFtoCX(int level);
+    void initNumberOfProcessNeighborsAfterFtoCY(int level);
+    void initNumberOfProcessNeighborsAfterFtoCZ(int level);
+
     void findCornerNodesCommMultiGPU();
     void findCornerNodesXY(int level);
     bool findIndexInSendNodesXY(int level, int index);