diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 18ff5cc532eaa12788f956dca96beb54b234c6bb..80c6d52633b5e22cec3a904224a2f28538850758 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -39,6 +39,7 @@ test_DPPP_step:
     - cwl-runner steps/DP3.AOFlaggerStepGenerator.cwl test_jobs/aoflagger_step_generator.json
     - cwl-runner steps/DP3.PreflaggerStepGenerator.cwl test_jobs/preflagger_step_generator.json
     - cwl-runner steps/DP3.ParsetSelector.cwl test_jobs/parset_selector.json
+    - cwl-runner steps/FileDirSelector.cwl test_jobs/filedir_selector.json
     - ! cwl-runner steps/DP3.AveragerStepGenerator.cwl test_jobs/averager_step_generator_error.json
     - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH test_workflow/flag_average.cwl --msin=test_data/L570745_SB001_uv_first10.MS
     - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH steps/DPPP.cwl test_jobs/NDPPP.json
diff --git a/steps/FileDirSelector.cwl b/steps/FileDirSelector.cwl
index fc1aaf994bc4d1f192115cde53f1031788b9c788..f1b046ab001cf6532c1e7a9b7f3388fc04ee6088 100644
--- a/steps/FileDirSelector.cwl
+++ b/steps/FileDirSelector.cwl
@@ -15,9 +15,11 @@ outputs:
     type: [File, Directory]
 
 expression: |
-  $(
-    {'output': inputs.inputs[step_name][type]}
-  )
+  ${
+    var step_name = inputs.step_name
+    var type = inputs.type
+    return {'output': inputs.inputs[step_name][type]}
+  }
 label: ParsetSelector
 
 requirements:
diff --git a/test_jobs/filedir_selector.json b/test_jobs/filedir_selector.json
new file mode 100644
index 0000000000000000000000000000000000000000..072bdc5bacbb931151a48dc4430ad36dd3798dbc
--- /dev/null
+++ b/test_jobs/filedir_selector.json
@@ -0,0 +1,12 @@
+{
+    "inputs": {
+        "average": {
+            "parmdb": {
+                    "class": "File",
+                    "location": "ndppp_step.parset"
+            }
+        }
+    },
+    "step_name": "average",
+    "type": "parmdb"
+}