diff --git a/src/field/DistributedField.cpp b/src/field/DistributedField.cpp
index 6493c17b42fa9703dfc4cd33399435ef2fca6abb..aaebf9a4db80bd32a3aa577a2de20e0c28de4e98 100644
--- a/src/field/DistributedField.cpp
+++ b/src/field/DistributedField.cpp
@@ -465,6 +465,7 @@ namespace gmshfem::field
       MPI_Waitall(receiveRequests.size(), receiveRequests.data(), MPI_STATUSES_IGNORE);
       size_t total_size = std::reduce(recvSizes.begin(), recvSizes.end());
       allSharedDofsArray.resize(total_size);
+      // 2) Transfer dofs indices
       sendRequests.clear(); sendRequests.resize(ranks.size());
       receiveRequests.clear(); receiveRequests.resize(ranks.size());
       size_t currentOffset = 0;
@@ -476,6 +477,10 @@ namespace gmshfem::field
       MPI_Waitall(sendRequests.size(), sendRequests.data(), MPI_STATUSES_IGNORE);
       MPI_Waitall(receiveRequests.size(), receiveRequests.data(), MPI_STATUSES_IGNORE);
       MPI_Barrier(MPI_COMM_WORLD);
+      // 3) Add my dofs to the global array
+      for (auto entry: myOwnedDofs) {
+        allSharedDofsArray.push_back(entry);
+      }
       if(rank == 0) {
         msg::info << "Gathered allSharedDofsArray with peer-to-peer comms." << msg::endl;
       }