diff --git a/CMakeModules/CorsikaUtilities.cmake b/CMakeModules/CorsikaUtilities.cmake
index 9b00787289f634872b707c208cc899136418d597..1ceabe90b3554bfc453bd97ad712154a4a373979 100644
--- a/CMakeModules/CorsikaUtilities.cmake
+++ b/CMakeModules/CorsikaUtilities.cmake
@@ -102,4 +102,11 @@ function (CORSIKA_ADD_TEST name)
   target_include_directories (${name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
   file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/test_outputs/)
   add_test (NAME ${name} COMMAND ${name} -o ${PROJECT_BINARY_DIR}/test_outputs/junit-${name}.xml -r junit)
+  if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+    target_compile_options(${name} PRIVATE -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=all)
+    set_target_properties(${name} PROPERTIES LINK_FLAGS "-fsanitize=address,undefined")
+  else()
+    target_compile_options(${name} PRIVATE -fno-omit-frame-pointer -fsanitize=address,leak,undefined -fno-sanitize-recover=all)
+    set_target_properties(${name} PROPERTIES LINK_FLAGS "-fsanitize=address,leak,undefined")
+  endif()
 endfunction (CORSIKA_ADD_TEST)