diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/subtasks.py b/SAS/TMSS/backend/src/tmss/tmssapp/subtasks.py
index a4e747ff8754069600f617166fc08ac65592720d..94cd5f7d17f469cf60b5d0bc9dc688c6a70108e5 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/subtasks.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/subtasks.py
@@ -1313,18 +1313,18 @@ def _create_preprocessing_output_dataproducts_and_transforms(pipeline_subtask: S
     # TODO: use existing and reasonable selection and specification templates for output when we have those, for now, use "empty"
     dataproduct_specifications_template = DataproductSpecificationsTemplate.objects.get(name="visibilities")
     dataproduct_feedback_template = DataproductFeedbackTemplate.objects.get(name="empty")
+    directory = _output_root_directory(pipeline_subtask) + "uv/"
 
     # input:output mapping is 1:1
-    input_dps = list(pipeline_subtask_input.dataproducts.all())
     output_dp_objects = []
-    for input_dp in input_dps:
+    for input_dp in input_dataproducts:
         if '_' in input_dp.filename and input_dp.filename.startswith('L'):
             filename = "L%s_%s" % (pipeline_subtask.pk, input_dp.filename.split('_', 1)[1])
         else:
             filename = "L%s_%s" % (pipeline_subtask.pk, input_dp.filename)
 
         output_dp = Dataproduct(filename=filename,
-                                directory=input_dp.directory.replace(str(pipeline_subtask_input.producer.subtask.pk), str(pipeline_subtask.pk)),
+                                directory=directory,
                                 dataformat=dataformat,
                                 datatype=datatype,
                                 producer=pipeline_subtask_output,
@@ -1469,7 +1469,7 @@ def schedule_pipeline_subtask(pipeline_subtask: Subtask):
         dataproducts = [dataproduct for dataproduct in pipeline_subtask_input.producer.dataproducts.all()
                         if specifications_doc_meets_selection_doc(dataproduct.specifications_doc, pipeline_subtask_input.selection_doc)]
         pipeline_subtask_input.dataproducts.set(dataproducts)
-        input_dataproducts.append(dataproducts)
+        input_dataproducts.extend(dataproducts)
 
     # step 3: create output dataproducts, and link these to the output
     if pipeline_subtask.specifications_template.name == "pipeline control":