diff --git a/src/files.jl b/src/files.jl
index 72c3c6a9750aff5b16a7bcdbdfc1a6db997d8e31..5b50b68a2c36f9a1b614a442437e00e507794363 100644
--- a/src/files.jl
+++ b/src/files.jl
@@ -271,7 +271,14 @@ function savetofile(controller, file; datafile=nothing)
             end
         end
         datafilepath = isfile(datafile) ? datafile : joinpath(cwd(controller), datafile)
-        Datasets.pushdependency!(dataset, datafilepath)
+        deps = getdependencies(getinputfile(controller)[])
+        if isempty(deps)
+            Datasets.pushdependency!(dataset, datafilepath)
+        else
+            for dep in deps
+                Datasets.pushdependency!(dataset, dep)
+            end
+        end
         Datasets.to_json_file(filepath, dataset)
     end
 end