diff --git a/steps/applybeam.cwl b/steps/applybeam.cwl
index 13e73947e278f328364ff1a55825499e14cbd1ee..f360dcdd1bbde1d4252bf3b8810b3e3877fb86da 100644
--- a/steps/applybeam.cwl
+++ b/steps/applybeam.cwl
@@ -102,7 +102,7 @@ requirements:
         writable: true
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 4
+    coresMin: $(inputs.max_dp3_threads)
 hints:
   - class: DockerRequirement
     dockerPull: 'astronrd/linc'
diff --git a/steps/applycal.cwl b/steps/applycal.cwl
index 4158aa11a33b66619da073dcd08378fcb5941e18..808f888cd6bf81153ad01ce9dd7a394cc41ea35f 100644
--- a/steps/applycal.cwl
+++ b/steps/applycal.cwl
@@ -112,7 +112,7 @@ requirements:
         writable: true
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 4
+    coresMin: $(inputs.max_dp3_threads)
 hints:
   - class: DockerRequirement
     dockerPull: 'astronrd/linc'
diff --git a/steps/ddecal.cwl b/steps/ddecal.cwl
index eb43e70937d4135f386f3de894dab51e60859351..016ff570ffc73da0d7dd5bab511576098234a75f 100644
--- a/steps/ddecal.cwl
+++ b/steps/ddecal.cwl
@@ -286,7 +286,7 @@ hints:
 requirements:
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 2
+    coresMin: $(inputs.max_dp3_threads)
 
 stdout: ddecal.log
 stderr: ddecal_err.log
diff --git a/steps/dp3_addcol.cwl b/steps/dp3_addcol.cwl
index efeab21bc3507c305b9fcc86af0d60a443affa24..c3feb7ead4da46ad06d851e9bafff45a98e34225 100644
--- a/steps/dp3_addcol.cwl
+++ b/steps/dp3_addcol.cwl
@@ -56,7 +56,7 @@ requirements:
       - entry: $(inputs.msin)
         writable: true
   - class: ResourceRequirement
-    coresMin: 2
+    coresMin: $(inputs.max_dp3_threads)
 hints:
   - class: DockerRequirement
     dockerPull: astronrd/linc
diff --git a/steps/dp3_prep_cal.cwl b/steps/dp3_prep_cal.cwl
index 2a8f788383f716241d043eda2c21fb263d45fcff..98cc6c96fc669ed6262535425300911ea64e11a7 100755
--- a/steps/dp3_prep_cal.cwl
+++ b/steps/dp3_prep_cal.cwl
@@ -122,4 +122,4 @@ stderr: DP3_err.log
 requirements:
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 8
+    coresMin: $(inputs.max_dp3_threads)
diff --git a/steps/dp3_prep_target.cwl b/steps/dp3_prep_target.cwl
index e24b977d1fd3684f117f0ddf2a0d62afc84cdb2f..3d080d08213743611cb7c1caa6435eb1bc5e1f06 100755
--- a/steps/dp3_prep_target.cwl
+++ b/steps/dp3_prep_target.cwl
@@ -178,4 +178,4 @@ stderr: DP3_err.log
 requirements:
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 4
+    coresMin: $(inputs.max_dp3_threads)
diff --git a/steps/filter_predict.cwl b/steps/filter_predict.cwl
index 3429f0a70cec19bd20905879c45ae598899e00ed..ab3aedde6451a40c16cafd011fec075879719301 100644
--- a/steps/filter_predict.cwl
+++ b/steps/filter_predict.cwl
@@ -129,7 +129,7 @@ requirements:
     inplaceUpdate: true
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 1
+    coresMin: $(inputs.max_dp3_threads)
 hints:
   - class: DockerRequirement
     dockerPull: astronrd/linc
diff --git a/steps/gaincal.cwl b/steps/gaincal.cwl
index 4f32aafc2c6c706c5ac34207a96c528a6fa38913..e8061e72ed5d920d6b7b03cd69ffaf182726241f 100644
--- a/steps/gaincal.cwl
+++ b/steps/gaincal.cwl
@@ -187,6 +187,6 @@ requirements:
     inplaceUpdate: true
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 2
+    coresMin: $(inputs.max_dp3_threads)
 $schema:
   - 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl'
diff --git a/steps/predict.cwl b/steps/predict.cwl
index 53f76043942a1155e3521489776c7adcf61d7ee2..33114b9c5b725edd093b175e1cb098106cc8a0d3 100644
--- a/steps/predict.cwl
+++ b/steps/predict.cwl
@@ -117,7 +117,7 @@ requirements:
         writable: true
   - class: InlineJavascriptRequirement
   - class: ResourceRequirement
-    coresMin: 2
+    coresMin: $(inputs.max_dp3_threads)
 hints:
   - class: DockerRequirement
     dockerPull: astronrd/linc