diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 24a4f19727721613a4bca0c70744c29b4523fc54..4eef6c18771aa6768877e9b24a3afe8e91296911 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -40,7 +40,11 @@ enable_testing()
 ParseAndAddCatchTests(unit_tests)
 
 if(${PUGS_HAS_MPI})
-set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 3 --oversubscribe --path ${PUGS_BINARY_DIR})
+  set(MPIEXEC_OPTION_FLAGS --oversubscribe)
+  if (NOT "$ENV{GITLAB_CI}" STREQUAL "")
+    set(MPIEXEC_OPTION_FLAGS ${MPIEXEC_OPTION_FLAGS} --allow-run-as-root)
+  endif()
+  set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 3 ${MPIEXEC_OPTION_FLAGS} --path ${PUGS_BINARY_DIR})
 endif()
 ParseAndAddCatchTests(mpi_unit_tests)
 unset(OptionalCatchTestLauncher)