diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 7825112130981f57f1c754ac8fde16182975fcf9..e28375730ca3df2d1322b4ba0f9d0586ba21583d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -4,7 +4,6 @@ set(TESTS
   cosseratenergytest
   frameinvariancetest
   harmonicenergytest
-  harmonicmaptest
   localgeodesicfefunctiontest
   localgfetestfunctiontest
   localprojectedfefunctiontest
@@ -21,4 +20,11 @@ foreach(_test ${TESTS})
   target_compile_options(${_test} PRIVATE -g)
 endforeach()
 
+# Run distributed tests
+dune_add_test(SOURCES harmonicmaptest.cc
+              MPI_RANKS 1 4
+              TIMEOUT 600
+              CMAKE_GUARD MPI_FOUND)
+
+# Copy the example grid used for testing into the build dir
 file(COPY grids/irregular-square.msh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/grids)
diff --git a/test/harmonicmaptest.cc b/test/harmonicmaptest.cc
index 996588be28362fb6539f436f93377717a49095b6..2d409e2c05fc8a2dbb14d13cc289dfe153dc19a6 100644
--- a/test/harmonicmaptest.cc
+++ b/test/harmonicmaptest.cc
@@ -70,6 +70,8 @@ int main (int argc, char *argv[])
 
   grid->globalRefine(numLevels-1);
 
+  grid->loadBalance();
+
   using GridView = GridType::LeafGridView;
   GridView gridView = grid->leafGridView();