diff --git a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
index e27f4a9152f6713abbba75fefc8aba23c2631891..284b9f2397ca542bf99b1095061d88f4646eefc7 100644
--- a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
+++ b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
@@ -392,11 +392,12 @@ void Simulation::init(SPtr<Parameter> para, SPtr<GridProvider> gridProvider, std
 
    // writers for version with communication hiding
    if(para->getNumprocs() > 1 && para->getUseStreams()){
-   	InterfaceDebugWriter::writeInterfaceFCC_Send(para.get());
-    InterfaceDebugWriter::writeInterfaceCFC_Recv(para.get());
-   	InterfaceDebugWriter::writeSendNodesStream(para.get());
-   	InterfaceDebugWriter::writeRecvNodesStream(para.get());
+   	// InterfaceDebugWriter::writeInterfaceFCC_Send(para.get());
+    // InterfaceDebugWriter::writeInterfaceCFC_Recv(para.get());
+   	// InterfaceDebugWriter::writeSendNodesStream(para.get());
+   	// InterfaceDebugWriter::writeRecvNodesStream(para.get());
 	EdgeNodeDebugWriter::writeEdgeNodesXZ_Send(para);
+	EdgeNodeDebugWriter::writeEdgeNodesXZ_Recv(para);
    }
 }
 
diff --git a/src/gpu/VirtualFluids_GPU/Output/EdgeNodeDebugWriter.hpp b/src/gpu/VirtualFluids_GPU/Output/EdgeNodeDebugWriter.hpp
index bba1b2331a0eabe57781ca5794a61f0ff5e11401..4b2d2f275bd127f0065f135acb94b738260c4668 100644
--- a/src/gpu/VirtualFluids_GPU/Output/EdgeNodeDebugWriter.hpp
+++ b/src/gpu/VirtualFluids_GPU/Output/EdgeNodeDebugWriter.hpp
@@ -60,6 +60,42 @@ void writeEdgeNodesXZ_Send(SPtr<Parameter> para)
         WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(filenameVec, nodesVec, datanames, nodedata);
     }
 }
+
+void writeEdgeNodesXZ_Recv(SPtr<Parameter> para)
+{
+    std::vector<UbTupleFloat3> nodesVec;
+    std::vector<std::string> datanames = { "SparseIndex", "ProcessNeighbor", "IndexInRecvVector", "AfterFtoC" };
+    std::vector<std::vector<double>> nodedata;
+
+    int numberOfNodes = 0;
+    for (int level = 0; level < para->getMaxLevel(); level++){
+        numberOfNodes += (int) para->getParH(level)->edgeNodesXtoZ.size();
+    }
+    nodesVec.resize(numberOfNodes);
+    nodedata.resize(datanames.size(), std::vector<double>(numberOfNodes));
+
+    int nodeCount = 0;
+    for (int level = 0; level < para->getMaxLevel(); level++) {
+        for (int u = 0; u < numberOfNodes; u++) {
+            int indexOfProcessNeighborRecv = para->getParH(level)->edgeNodesXtoZ[u].indexOfProcessNeighborRecv;
+            int indexInRecvBuffer = para->getParH(level)->edgeNodesXtoZ[u].indexInRecvBuffer;
+            int sparseIndex = para->getParH(level)->recvProcessNeighborX[indexOfProcessNeighborRecv].index[indexInRecvBuffer];
+            nodedata[0][nodeCount] = sparseIndex;
+            nodedata[1][nodeCount] = indexOfProcessNeighborRecv;
+            nodedata[2][nodeCount] = indexInRecvBuffer;
+            nodedata[3][nodeCount] = indexInRecvBuffer < para->getParH(level)->recvProcessNeighborX[indexOfProcessNeighborRecv].numberOfNodes;
+
+            addCoordinatesToNodeVector(para->getParH(level), nodesVec, nodeCount, sparseIndex);
+
+            nodeCount++;
+        }
+        std::string filenameVec = para->getFName() + "_writeEdgeNodesXZ_Recv_PID_" +
+                                  std::to_string(vf::gpu::Communicator::getInstanz()->getPID()) + "_" +
+                                  StringUtil::toString<int>(level);
+
+        WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(filenameVec, nodesVec, datanames, nodedata);
+    }
+}
 } // namespace EdgeNodeDebugWriter
 
 #endif