diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8bf7fd3dcae60a7a2344257ab4e1f33beccf92e..b533ab5d04362c93a901d1de84da97e0bc3a79f3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,6 +61,13 @@ else()
     find_package(MPI REQUIRED COMPONENTS CXX)
 endif (CM_ALL_FORTRAN)
 
+# Prepare the Config.cmake.in
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Config.cmake.in
+"@PACKAGE_INIT@\n
+\n
+include(CMakeFindDependencyMacro)\n
+find_dependency(MPI)\n"
+    )
 
 if(CM_ALL_VTK_OUTPUT)
     message("Using VTK output")
@@ -75,8 +82,14 @@ if(CM_ALL_VTK_OUTPUT)
     if(NOT VTK_FOUND)
         message(FATAL_ERROR "VTK not found, help CMake to find it by setting VTK_LIBRARY and VTK_INCLUDE_DIR")
     endif()
+    file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Config.cmake.in "find_dependency(VTK)\n")
 endif(CM_ALL_VTK_OUTPUT)
 
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/Config.cmake.in
+"include(\"\${CMAKE_CURRENT_LIST_DIR}/ALLTargets.cmake\")\n
+check_required_components(ALL)\n"
+    )
+
 if (CM_ALL_DEBUG)
     message("Using ALL debug information")
     add_compile_definitions("ALL_DEBUG_ENABLED")
@@ -122,7 +135,7 @@ install(EXPORT ALLTargets
     )
 
 include(CMakePackageConfigHelpers)
-configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
+configure_package_config_file(${CMAKE_CURRENT_BINARY_DIR}/Config.cmake.in
     "${CMAKE_CURRENT_BINARY_DIR}/ALLConfig.cmake"
     INSTALL_DESTINATION lib/cmake/ALL
     )
diff --git a/Config.cmake.in b/Config.cmake.in
deleted file mode 100644
index f721e1ecb8bdd340c472102ea213566cf1269fd9..0000000000000000000000000000000000000000
--- a/Config.cmake.in
+++ /dev/null
@@ -1,10 +0,0 @@
-@PACKAGE_INIT@
-
-include(CMakeFindDependencyMacro)
-find_dependency(MPI)
-#todo(s.schulz): Somehow propagate the VTK switch...
-find_dependency(VTK)
-
-include("${CMAKE_CURRENT_LIST_DIR}/ALLTargets.cmake")
-
-check_required_components(ALL)