diff --git a/.gitmodules b/.gitmodules
index cea13b515f2459b41a4ebca2cbccf83f5d475a97..65846e253dbce93aaaefbc8913b2eec85bc8ef8d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
-[submodule "ThirdParty/tetgen"]
-	path = ThirdParty/tetgen
-	url = https://github.com/ufz/tetgen.git
 [submodule "ThirdParty/metis"]
 	path = ThirdParty/metis
 	url = https://github.com/scibuilder/metis.git
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index 8adf87ae71e889a097865eafc5d123f39018ffad..6b2afcd55664b1ae584c6f96fd414235dcd2e1f4 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -24,13 +24,6 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/VtkFbxConverter/CMakeLists.txt
     add_subdirectory(VtkFbxConverter)
 endif()
 
-# tetgen
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tetgen/CMakeLists.txt)
-    add_subdirectory(tetgen)
-    list(APPEND DISABLE_WARNINGS_TARGETS tet tetgen)
-    install(PROGRAMS $<TARGET_FILE:tetgen> DESTINATION bin COMPONENT ogs_extras)
-endif()
-
 if(OGS_BUILD_SWMM)
     add_subdirectory(SWMMInterface)
     list(APPEND DISABLE_WARNINGS_TARGETS SWMM SwmmInterface)
diff --git a/ThirdParty/tetgen b/ThirdParty/tetgen
deleted file mode 160000
index 603ba181ebfaed38eec88532720e282606009b73..0000000000000000000000000000000000000000
--- a/ThirdParty/tetgen
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 603ba181ebfaed38eec88532720e282606009b73
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index 5769f70e62112c50db799ac307388ba2302a56be..7909dadf011ebe715ac1dd6c58a0e06082411d3c 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -29,7 +29,7 @@ if(BUILD_TESTING)
             "VTK_LIBRARIES vtkIOXML"
     )
     if(vtkdiff_ADDED)
-        install(PROGRAMS $<TARGET_FILE:vtkdiff> DESTINATION bin COMPONENT ogs_extras)
+        install(PROGRAMS $<TARGET_FILE:vtkdiff> DESTINATION bin)
     endif()
 endif()
 
@@ -61,6 +61,15 @@ if(tclap_ADDED)
     target_include_directories(tclap INTERFACE ${tclap_SOURCE_DIR}/include)
 endif()
 
+CPMAddPackage(
+    NAME tetgen
+    GITHUB_REPOSITORY ufz/tetgen
+    GIT_TAG 603ba181ebfaed38eec88532720e282606009b73
+)
+if(tetgen_ADDED)
+    install(PROGRAMS $<TARGET_FILE:tetgen> DESTINATION bin)
+endif()
+
 ######################
 ### Find tools     ###
 ######################
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index 585528f06cff638b7ae5db099cc494aaf69f749b..51069befc2ef65125ee836a4ac76dd9f1a2aa187 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -12,7 +12,6 @@ set(REQUIRED_SUBMODULES
     ThirdParty/cmake-modules
     ThirdParty/iphreeqc/src
     ThirdParty/json-cmake
-    ThirdParty/tetgen
     ${OGS_ADDITIONAL_SUBMODULES_TO_CHECKOUT}
 )
 if(OGS_USE_XDMF)