diff --git a/CMake/SuperBuild/External_vtk.cmake b/CMake/SuperBuild/External_vtk.cmake
index 100936894b63a24053a228f3ebc7631615f8ba4e..cd1701ecfa01d0d5e4c1d20795701237e309f6a4 100644
--- a/CMake/SuperBuild/External_vtk.cmake
+++ b/CMake/SuperBuild/External_vtk.cmake
@@ -56,10 +56,13 @@ if(NOT DEFINED ${proj}_DIR)
       -DVTK_Group_StandAlone:BOOL=OFF
       -DVTK_Group_Rendering:BOOL=OFF
       -DModule_vtkRenderingOpenGL2:BOOL=ON
+      -DModule_vtkIOXML:BOOL=ON
+      -DModule_vtkIOLegacy:BOOL=ON
+      -DModule_vtkIOPLY:BOOL=ON
+      -DModule_vtkInteractionStyle:BOOL=ON
       -DVTK_RENDERING_BACKEND:STRING=OpenGL2
       -DVTK_WRAP_PYTHON:BOOL=OFF
       ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
-      ${OUTPUT_DIRECTORIES}
     DEPENDS
       ${${proj}_DEPENDENCIES}
 #     LOG_DOWNLOAD 1            # Wrap download in script to log output
@@ -69,10 +72,11 @@ if(NOT DEFINED ${proj}_DIR)
 #     LOG_TEST 1                # Wrap test in script to log output
 #     LOG_INSTALL 1             # Wrap install in script to log output
     )
-  set(${proj}_DIR ${CMAKE_BINARY_DIR}/SuperBuild/${proj}-build)
+  set(${proj}_DIR ${CMAKE_BINARY_DIR}/SimMedTK-build/lib)
 
 else()
   SimMedTKEmptyExternalProject(${proj} "${${proj}_DEPENDENCIES}")
 endif()
 
 set(SimMedTK_CMAKE_INCLUDE_PATH ${CMAKE_BINARY_DIR}/SuperBuild/${proj}/include/${sep}${SimMedTK_CMAKE_INCLUDE_PATH})
+list(APPEND SimMedTK_SUPERBUILD_EP_ARGS VTK_DIR:PATH=${${proj}_DIR})
diff --git a/CMake/SuperBuild/SuperBuild.cmake b/CMake/SuperBuild/SuperBuild.cmake
index 91537b672faaaa1bee45db0bf575817d9d956472..866a32f8daf730c989504f7eb2dfb7f8192786d3 100755
--- a/CMake/SuperBuild/SuperBuild.cmake
+++ b/CMake/SuperBuild/SuperBuild.cmake
@@ -169,14 +169,14 @@ endif(WIN32)
 #
 SET(proj SimMedTK-Configure)
 
-if (NOT SimMedTK_VTK_DIR)
-  find_package(VTK REQUIRED)
-  mark_as_advanced(SimMedTK_VTK_DIR)
-  set(SimMedTK_VTK_DIR ${VTK_DIR})
-endif()
-list(APPEND SimMedTK_SUPERBUILD_CMAKE_OPTIONS
-  "-DVTK_DIR:FILEPATH=${SimMedTK_VTK_DIR}"
-)
+# if (NOT SimMedTK_VTK_DIR)
+#   find_package(VTK REQUIRED)
+#   mark_as_advanced(SimMedTK_VTK_DIR)
+#   set(SimMedTK_VTK_DIR ${VTK_DIR})
+# endif()
+# list(APPEND SimMedTK_SUPERBUILD_CMAKE_OPTIONS
+#   "-DVTK_DIR:FILEPATH=${SimMedTK_VTK_DIR}"
+# )
 
 message("SimMedTK_BUILD_SHARED_LIBS=${SimMedTK_BUILD_SHARED_LIBS}")
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 28df3df5152083874dcb161e48a3940fc8a3793b..7bc9a2e26fd17468449489663c03e29ec5f2d449 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -172,6 +172,7 @@ find_package(Assimp REQUIRED)
 find_package(Eigen3 REQUIRED)
 find_package(VegaFEM REQUIRED CONFIG)
 find_package(ThreadPool REQUIRED)
+
 find_package(VTK REQUIRED)
 
 if(SimMedTK_USE_OCULUS)
diff --git a/IO/CMakeLists.txt b/IO/CMakeLists.txt
index f4b34b69f7dea1f8b8bafb755bb6083a6d062ee2..be6ebaf7e2dffb34d593d0529d12045e0ae27d39 100644
--- a/IO/CMakeLists.txt
+++ b/IO/CMakeLists.txt
@@ -1,4 +1,3 @@
-find_package(VTK REQUIRED)
 
 include(${VTK_USE_FILE})
 
diff --git a/VTKRendering/CMakeLists.txt b/VTKRendering/CMakeLists.txt
index 998d9256f31338df25412d12b45d5fbce414725a..9050532726a0b8331ff4df217676aa2ef89794ec 100644
--- a/VTKRendering/CMakeLists.txt
+++ b/VTKRendering/CMakeLists.txt
@@ -1,3 +1,4 @@
+
 include(${VTK_USE_FILE})
 
 simmedtk_add_library(VTKRendering
diff --git a/VTKRendering/MeshNodalCoordinates.h b/VTKRendering/MeshNodalCoordinates.h
index c17cdd2d86c3939397da09765fd4b26feea43240..7d02c29e7959bd79a1194d865bd58f201bcfa7b0 100644
--- a/VTKRendering/MeshNodalCoordinates.h
+++ b/VTKRendering/MeshNodalCoordinates.h
@@ -26,7 +26,6 @@
 #define MESHNODALCOORDINATES_H
 
 #include "vtkMappedDataArray.h"
-#include "vtkIOExodusModule.h" // For export macro
 
 #include "vtkTypeTemplate.h" // For templated vtkObject API
 #include "vtkObjectFactory.h" // for vtkStandardNewMacro