diff --git a/src/utils/Messenger.hpp b/src/utils/Messenger.hpp
index a04c664d7dcbe36817d2748a6f27e0b8d8dc3481..061fdc7861a4bcce7a824f000e00f0b37bace935 100644
--- a/src/utils/Messenger.hpp
+++ b/src/utils/Messenger.hpp
@@ -770,10 +770,12 @@ class Messenger
       Array s = convert_to_array(data);
       broadcast(s, root_rank);
       if (m_rank != root_rank) {
+        // LCOV_EXCL_START
         data.resize(s.size());
         for (size_t i = 0; i < s.size(); ++i) {
           data[i] = s[i];
         }
+        // LCOV_EXCL_STOP
       }
     } else {
       static_assert(is_false_v<DataType>, "unexpected type of data");
diff --git a/tests/test_Messenger.cpp b/tests/test_Messenger.cpp
index 4565614fbcd4e4dc387527b77ddb1be23b092e23..3789f2e4ffaba718b4a936d61a2e5bb9b867e77f 100644
--- a/tests/test_Messenger.cpp
+++ b/tests/test_Messenger.cpp
@@ -123,6 +123,8 @@ TEST_CASE("Messenger", "[mpi]")
     int size = 1;
     IF_MPI(MPI_Comm_size(MPI_COMM_WORLD, &size));
     REQUIRE(size == static_cast<int>(parallel::size()));
+
+    REQUIRE(parallel::size() <= parallel::Messenger::getInstance().globalSize());
   }
 
   SECTION("reduction")