diff --git a/.gitmodules b/.gitmodules
index 72031ae442a7d58acd066da8f19efce23e5160a4..7bd0a67878e448d9cb71df110e510b7501572b37 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,3 +22,6 @@
 [submodule "Tests/Data"]
 	path = Tests/Data
 	url = https://github.com/ufz/ogs-data
+[submodule "ThirdParty/vtkGUISupportQt"]
+	path = ThirdParty/vtkGUISupportQt
+	url = https://github.com/ufz/vtkGUISupportQt.git
diff --git a/Applications/DataExplorer/CMakeLists.txt b/Applications/DataExplorer/CMakeLists.txt
index 7215199550028e353c250a36533595cf4f2630f0..41781bb03e5f9f40af894cb395903887cf9d74db 100644
--- a/Applications/DataExplorer/CMakeLists.txt
+++ b/Applications/DataExplorer/CMakeLists.txt
@@ -1,12 +1,3 @@
-if(QT4_FOUND)
-	set(VTK_QT_VERSION 4 CACHE INTERNAL "")
-else()
-	set(VTK_QT_VERSION 5 CACHE INTERNAL "")
-endif()
-if(NOT TARGET vtkGUISupportQt)
-	add_subdirectory(VtkModules/Qt)
-endif()
-
 if(VTKFBXCONVERTER_FOUND)
 	add_definitions(-DVTKFBXCONVERTER_FOUND)
 	include_directories(${VTKFBXCONVERTER_INCLUDE_DIRS})
diff --git a/Applications/DataExplorer/DataExplorer.cmake b/Applications/DataExplorer/DataExplorer.cmake
index 93baee23cd5fe9ffc60d82a65c8d44625719a7ae..d6fd25590c0853074358ea8d587c07dd824bd835 100644
--- a/Applications/DataExplorer/DataExplorer.cmake
+++ b/Applications/DataExplorer/DataExplorer.cmake
@@ -28,7 +28,6 @@ include_directories(
 	${CMAKE_CURRENT_SOURCE_DIR}/DataView/DiagramView
 	${CMAKE_CURRENT_SOURCE_DIR}/VtkVis
 	${CMAKE_CURRENT_SOURCE_DIR}/VtkAct
-	${CMAKE_CURRENT_SOURCE_DIR}/VtkModules/Qt
 )
 
 # Put moc files in a project folder
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4e83d047a40c7b11079dcbc9d35df8d2a13960e0..e75e89b06aa0da2fea3d9ca6110e6b02efb0b372 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -202,6 +202,7 @@ include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty )
 include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/gtest/include )
 include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/autocheck/include )
 include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/tclap/include )
+include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/vtkGUISupportQt)
 
 add_subdirectory( Applications )
 add_subdirectory( AssemblerLib )
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index 49f7aa5ea6afcda7d02a4eb12344929d76c2f449..b4e6fa72adff67d3672eca88ec620a79a5fdbbd5 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -46,3 +46,12 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/vtkdiff/CMakeLists.txt)
 	add_subdirectory(vtkdiff)
 	install (PROGRAMS $<TARGET_FILE:vtkdiff> DESTINATION bin COMPONENT ogs_extras)
 endif()
+
+if(NOT TARGET vtkGUISupportQt AND OGS_BUILD_GUI)
+	if(QT4_FOUND)
+		set(VTK_QT_VERSION 4 CACHE INTERNAL "")
+	else()
+		set(VTK_QT_VERSION 5 CACHE INTERNAL "")
+	endif()
+	add_subdirectory(${CMAKE_SOURCE_DIR}/ThirdParty/vtkGUISupportQt)
+endif()
diff --git a/ThirdParty/vtkGUISupportQt b/ThirdParty/vtkGUISupportQt
new file mode 160000
index 0000000000000000000000000000000000000000..b00c860c6edb20436bc00e5b20bc47517786413a
--- /dev/null
+++ b/ThirdParty/vtkGUISupportQt
@@ -0,0 +1 @@
+Subproject commit b00c860c6edb20436bc00e5b20bc47517786413a
diff --git a/scripts/cmake/SubmoduleSetup.cmake b/scripts/cmake/SubmoduleSetup.cmake
index c4b9a93f55a174924d3024d2f01a84eda52853eb..7f06db4c3791aecd299cd948a4619b1705645264 100644
--- a/scripts/cmake/SubmoduleSetup.cmake
+++ b/scripts/cmake/SubmoduleSetup.cmake
@@ -15,6 +15,9 @@ set(REQUIRED_SUBMODULES
 if(OGS_BUILD_TESTS)
 	list(APPEND REQUIRED_SUBMODULES Tests/Data)
 endif()
+if(OGS_BUILD_GUI)
+	list(APPEND REQUIRED_SUBMODULES ThirdParty/vtkGUISupportQt)
+endif()
 
 foreach(SUBMODULE ${REQUIRED_SUBMODULES})
 	execute_process(