diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba5cdfcfd54049ba777f9097eec22f6a92ec8304..979fac87420c62c711cc7435147e0ac41d9f196b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -810,6 +810,12 @@ if ( WALBERLA_BUILD_WITH_MPI AND NOT WALBERLA_CXX_COMPILER_IS_MPI_WRAPPER )
      endif ( )
    endif ( )
 endif ( )
+
+# OpenMPI 3.0 and higher checks the number of processes against the number of CPUs
+execute_process(COMMAND ${MPIEXEC} --version RESULT_VARIABLE mpi_version_result OUTPUT_VARIABLE mpi_version_output)
+if (mpi_version_result EQUAL 0 AND mpi_version_output MATCHES "\\(Open(RTE| MPI)\\) ([3-9]\\.|1[0-9])")
+   set ( MPIEXEC_PREFLAGS "${MPIEXEC_PREFLAGS} -oversubscribe" )
+endif()
 ############################################################################################################################