diff --git a/.gitignore b/.gitignore
index 56bd57de1b567ef744b61a37daa70fa67e479763..f1089bbaa800ed440c0dd89432bf45f57415527b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ CMakeLists.txt.user*
 *.pyc
 
 Tests/**/*.md5
+Tests/Data/Parabolic/HT/InvalidProjectFiles/*.prj
diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake
index d802be42658e29a562276254665c50e6a4a5b944..abbbf75bfcc711b3814498ed323a806738c6fa6e 100644
--- a/ProcessLib/HT/Tests.cmake
+++ b/ProcessLib/HT/Tests.cmake
@@ -449,7 +449,12 @@ AddTest(
     VIS ThermalConvection_pcs_0_ts_1_t_0.000000.vtu
 )
 
-if("${OGS_USE_MPI}" STREQUAL "" AND ${BUILD_TESTING})
+if(NOT OGS_USE_MPI AND BUILD_TESTING AND Python_FOUND)
+    add_custom_target(generate_invalid_project_files_ht
+        ${Python_EXECUTABLE}
+        ${PROJECT_SOURCE_DIR}/ThirdParty/ogs6py/generateInvalidMediaForHT.py
+                                                generateInvalidMediaForHT.py
+        WORKING_DIRECTORY ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/)
     file(GLOB HT_INVALID_PRJ_FILES ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/*.prj)
     foreach(ht_invalid_prj_file ${HT_INVALID_PRJ_FILES})
         string(REPLACE ${Data_SOURCE_DIR}/Parabolic/HT/InvalidProjectFiles/HT "invalid" ht_invalid_prj_file_short ${ht_invalid_prj_file})
@@ -458,8 +463,8 @@ if("${OGS_USE_MPI}" STREQUAL "" AND ${BUILD_TESTING})
             PATH Parabolic/HT/InvalidProjectFiles
             EXECUTABLE ogs
             EXECUTABLE_ARGS ${ht_invalid_prj_file}
-            REQUIREMENTS NOT OGS_USE_MPI
             RUNTIME 1
+            DEPENDS generate_invalid_project_files_ht
         )
         set_tests_properties(ogs-HT_${ht_invalid_prj_file_short} PROPERTIES WILL_FAIL TRUE)
     endforeach()