diff --git a/src/blockforest/BlockForest.cpp b/src/blockforest/BlockForest.cpp
index 5aa3323e8c7cd26a90354f404b2a702fd221410c..8d99f0abe7b0c015b35e0d855221979471619b64 100644
--- a/src/blockforest/BlockForest.cpp
+++ b/src/blockforest/BlockForest.cpp
@@ -982,7 +982,7 @@ void BlockForest::refresh()
          for( auto phantom = phantomBlocks.begin(); phantom != phantomBlocks.end() && !performUpdate; ++phantom )
          {
             const auto & sourceProcess = phantom->second->getSourceProcess();
-            for( auto it = sourceProcess.begin(); it != sourceProcess.end(); ++it )
+            for( auto it = sourceProcess.begin(); it != sourceProcess.end() && !performUpdate; ++it )
                performUpdate = ( *it != process_ );
          }
          mpi::allReduceInplace( performUpdate, mpi::LOGICAL_OR );