diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt
index cf25d02d4b7c8f5fa0614842a94ce749dcc46139..e5823db69ff8ae2f9d6f4854ce4b2d053416a28d 100644
--- a/Applications/Utils/FileConverter/CMakeLists.txt
+++ b/Applications/Utils/FileConverter/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 set(TOOLS
     convertGEO
     generateMatPropsFromMatID
diff --git a/Applications/Utils/MeshEdit/CMakeLists.txt b/Applications/Utils/MeshEdit/CMakeLists.txt
index 1c13bc9ef78c17dadae901d2fede06306de1a80b..54a64aaac77957db67019f9e5a681d1dcd3e1d12 100644
--- a/Applications/Utils/MeshEdit/CMakeLists.txt
+++ b/Applications/Utils/MeshEdit/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 set(TOOLS
     AddElementQuality
     AddFaultToVoxelGrid
diff --git a/Applications/Utils/MeshGeoTools/CMakeLists.txt b/Applications/Utils/MeshGeoTools/CMakeLists.txt
index 8052a991f9ae5ca454ebafd45602dd33bda8f0be..99eff7baa94826d0e3237191080b4b323ca2927a 100644
--- a/Applications/Utils/MeshGeoTools/CMakeLists.txt
+++ b/Applications/Utils/MeshGeoTools/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 set(TOOLS
     AssignRasterDataToMesh
     computeSurfaceNodeIDsInPolygonalRegion
diff --git a/Applications/Utils/ModelPreparation/CMakeLists.txt b/Applications/Utils/ModelPreparation/CMakeLists.txt
index aa1aaf77c6e314d39be18980fe68a72cd1895970..3ab33a1d0abcd060e9cf85cc75d2c58fe030672b 100644
--- a/Applications/Utils/ModelPreparation/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/CMakeLists.txt
@@ -1,3 +1,9 @@
+add_subdirectory(PartitionMesh)
+
+if(OGS_USE_MPI)
+    return()
+endif()
+
 set(TOOLS ComputeNodeAreasFromSurfaceMesh convertVtkDataArrayToVtkDataArray
           createNeumannBc scaleProperty
 )
@@ -6,5 +12,3 @@ foreach(tool ${TOOLS})
     target_link_libraries(${tool} GitInfoLib MeshLib tclap)
 endforeach()
 install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
-
-add_subdirectory(PartitionMesh)
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
index c9283a1a82551465dae0a515c4048f8a858e8984..3e3565c0e8ee3530784db0d75cb0d1f230ff3302 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 CPMAddPackage(
     NAME metis
     GITHUB_REPOSITORY scibuilder/metis
diff --git a/Applications/Utils/PostProcessing/CMakeLists.txt b/Applications/Utils/PostProcessing/CMakeLists.txt
index 13bbef5c9113361e899cb7ca61685df7677f3a4e..e8aa1a36cbb4bc4260c0cd2a0895e1e165e241a4 100644
--- a/Applications/Utils/PostProcessing/CMakeLists.txt
+++ b/Applications/Utils/PostProcessing/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 if(OGS_BUILD_PROCESS_LIE)
     ogs_add_executable(postLIE postLIE.cpp)
     target_link_libraries(postLIE GitInfoLib LIECommon tclap)
diff --git a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
index 26ec45f52fb3f900763fa074227449988e89ea8b..9b0b9fd3475a2c67b2a6dc9add19d4707eeda918 100644
--- a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
+++ b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
@@ -1,3 +1,7 @@
+if(OGS_USE_MPI)
+    return()
+endif()
+
 set(TOOLS generateStructuredMesh)
 if(OGS_BUILD_GUI)
     list(APPEND TOOLS createMeshElemPropertiesFromASCRaster)
diff --git a/Applications/Utils/Tests.cmake b/Applications/Utils/Tests.cmake
index 508059418108e243e09b46c55ddbe5dd50d7525c..c47a3b237c5de918e7e03096decfb9871c991e66 100644
--- a/Applications/Utils/Tests.cmake
+++ b/Applications/Utils/Tests.cmake
@@ -312,7 +312,7 @@ if(SNAKEMAKE AND NOT OGS_USE_MPI AND TEE_TOOL_PATH)
             --configfile ${PROJECT_BINARY_DIR}/buildinfo.yaml
             -s ${CMAKE_CURRENT_SOURCE_DIR}/VoxelGridFromLayers.smk
     )
-    add_dependencies(ctest ExtractBoundary Layers2Grid AddFaultToVoxelGrid)
+    add_dependencies(ctest ExtractBoundary Layers2Grid AddFaultToVoxelGrid generateStructuredMesh)
 endif()
 
 AddTest(
diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake
index 40c6c1404c112e7a4e6476ab22fe4cd9d9275e55..70449e7aa6e4110698b4fc6772f78a537cf3c9c9 100644
--- a/scripts/cmake/test/Test.cmake
+++ b/scripts/cmake/test/Test.cmake
@@ -54,10 +54,6 @@ if(CMAKE_CONFIGURATION_TYPES)
 endif()
 add_custom_target(ctest-cleanup ${CMAKE_COMMAND} -E remove -f Tests/ctest.log)
 
-if(OGS_BUILD_UTILS)
-    list(APPEND test_dependencies generateStructuredMesh)
-endif()
-
 add_custom_target(
     ctest
     COMMAND