diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt
index 2df4fb662f54596c0bc7ea23dfbad0b5cb0e5e37..5d4b82fa1d14fba948b92ac77a536a876df9895c 100644
--- a/Applications/ApplicationsLib/CMakeLists.txt
+++ b/Applications/ApplicationsLib/CMakeLists.txt
@@ -9,9 +9,7 @@ target_link_libraries(ApplicationsLib
     MeshGeoToolsLib
     NumLib
     ProcessLib
-    ${VTK_LIBRARIES}
 )
-ADD_VTK_DEPENDENCY(ApplicationsLib)
 
 if(TARGET Eigen)
     add_dependencies(ApplicationsLib Eigen)
diff --git a/Applications/DataExplorer/VtkAct/CMakeLists.txt b/Applications/DataExplorer/VtkAct/CMakeLists.txt
index 8b7b655e4a2f15ffca4a80318ece312dc610e857..ce0c1794f3db5a62189fd03a1b10da2cd1a03748 100644
--- a/Applications/DataExplorer/VtkAct/CMakeLists.txt
+++ b/Applications/DataExplorer/VtkAct/CMakeLists.txt
@@ -24,11 +24,7 @@ add_library(VtkAct ${SOURCES} ${HEADERS})
 
 ADD_VTK_DEPENDENCY(VtkAct)
 
-target_link_libraries( VtkAct
-    Qt5::Core
-    ${VTK_LIBRARIES}
-    logog
-    )
+target_link_libraries(VtkAct Qt5::Core)
 
 set_property(TARGET VtkAct PROPERTY FOLDER "DataExplorer")
 
diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt
index 0746183e0148b83519060ab01438512fb10a02ea..7da5c02a33ea0243de06e991a85cd7d43983bb71 100644
--- a/MeshLib/CMakeLists.txt
+++ b/MeshLib/CMakeLists.txt
@@ -27,12 +27,16 @@ if(OGS_USE_PCH)
 endif()
 
 target_link_libraries(MeshLib
-    BaseLib
-    GeoLib
-    MathLib
-    ${VTK_LIBRARIES}
+    PUBLIC BaseLib GeoLib MathLib
+    INTERFACE vtkIOXML
 )
 
+if(OGS_USE_MPI)
+    target_link_libraries(MeshLib
+        INTERFACE vtkIOParallelXML vtkParallelMPI
+    )
+endif()
+
 ADD_VTK_DEPENDENCY(MeshLib)
 
 if(TARGET Eigen)
diff --git a/ProcessLib/CMakeLists.txt b/ProcessLib/CMakeLists.txt
index 79cc2714663d4f4395e3ef73d41c4d68054c6c31..befb3595358128e00fdeb2e5732c9ab60572756e 100644
--- a/ProcessLib/CMakeLists.txt
+++ b/ProcessLib/CMakeLists.txt
@@ -58,8 +58,8 @@ add_library(ProcessLib ${SOURCES})
 target_link_libraries(ProcessLib
     MaterialLib
     MeshGeoToolsLib
+    MeshLib
     NumLib # for shape matrices
-    ${VTK_LIBRARIES}
 )
 
 ADD_VTK_DEPENDENCY(ProcessLib)
diff --git a/ThirdParty/vtkdiff b/ThirdParty/vtkdiff
index 7de4b89efaddefa4172799ac83dc423676e77485..b75cec4813c335bcb80f877df1019ddf12a80da1 160000
--- a/ThirdParty/vtkdiff
+++ b/ThirdParty/vtkdiff
@@ -1 +1 @@
-Subproject commit 7de4b89efaddefa4172799ac83dc423676e77485
+Subproject commit b75cec4813c335bcb80f877df1019ddf12a80da1