diff --git a/src/pystencilssfg/cmake/modules/PystencilsSfg.cmake b/src/pystencilssfg/cmake/modules/PystencilsSfg.cmake
index 8cddd48e463769124fa9165a84331f8c262dfd74..9d477cd23c52200da42fe8d349679080e5cc6f16 100644
--- a/src/pystencilssfg/cmake/modules/PystencilsSfg.cmake
+++ b/src/pystencilssfg/cmake/modules/PystencilsSfg.cmake
@@ -14,7 +14,7 @@ function(_pssfg_add_gen_source target script)
 
     cmake_parse_arguments(_pssfg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
 
-    set(generatedSourcesDir ${PystencilsSfg_GENERATED_SOURCES_DIR}/${target})
+    set(generatedSourcesDir ${PystencilsSfg_GENERATED_SOURCES_DIR}/gen/${target})
     get_filename_component(basename ${script} NAME_WLE)
     cmake_path(ABSOLUTE_PATH script OUTPUT_VARIABLE scriptAbsolute)
 
@@ -56,6 +56,7 @@ function(pystencilssfg_generate_target_sources TARGET)
     if(DEFINED PystencilsSfg_CONFIGURATOR_SCRIPT)
         cmake_path(ABSOLUTE_PATH PystencilsSfg_CONFIGURATOR_SCRIPT OUTPUT_VARIABLE configscript)
         list(APPEND generatorArgs "--sfg-config-module=${configscript}")
+        list(APPEND _pssfg_DEPENDS ${configscript})
     endif()
 
     if(DEFINED _pssfg_FILE_EXTENSIONS)