diff --git a/docs/source/target.rst b/docs/source/target.rst
index f0bc441682b255e6c9adb0391cf2468e005e85de..8057fe69851be708ccda806404737212c25cc126 100644
--- a/docs/source/target.rst
+++ b/docs/source/target.rst
@@ -307,6 +307,7 @@ A comprehensive explanation of the baseline selection syntax can be found `here`
 - ``aoflag_reorder``: make aoflagger reorder the measurement set before running the detection. This prevents that aoflagger will use its memory reading mode, which is faster but uses more memory (default: false, see the `AOFlagger manual`_`)
 - ``aoflag_chunksize``: this will split the set into intervals with the given maximum size, and flag each interval independently. This lowers the amount of memory required (default: 2000)
 - ``aoflag_freqconcat``: concatenate all subbands on-the-fly before performing flagging. Disable if you use time-chunked input data (see ``chunkduration``) (default: true)
+- ``wsclean_tmpdir``: Set the temporary directory of ``wsclean`` used when reordering files (default: ``/tmp``). CAUTION: This directory needs to be visible for LINC, in particular if you use Docker or Singularity.
 
 *Skymodel directory*
 
diff --git a/workflows/HBA_target.cwl b/workflows/HBA_target.cwl
index b53f3decb167c16ba8559b01aa4e2ac041682c77..dcd921fb8e2d95abf651b60af32b62c3e1557360 100644
--- a/workflows/HBA_target.cwl
+++ b/workflows/HBA_target.cwl
@@ -163,6 +163,8 @@ inputs:
   - id: chunkduration
     type: float?
     default: 0.0
+  - id: wsclean_tmpdir
+    type: string?
 outputs:
   - id: calibrated_data
     outputSource:
@@ -293,6 +295,8 @@ steps:
         source: selfcal
       - id: chunkduration
         source: chunkduration
+      - id: wsclean_tmpdir
+        source: wsclean_tmpdir
     out:
       - id: logfiles
       - id: msout
diff --git a/workflows/LBA_target.cwl b/workflows/LBA_target.cwl
index 0bbb4336b0c88405cdf5d29c216e5c5b5acdb322..1c6f3dcb4f139999bf4cc27999d2b09715a99eda 100644
--- a/workflows/LBA_target.cwl
+++ b/workflows/LBA_target.cwl
@@ -164,6 +164,8 @@ inputs:
   - id: chunkduration
     type: float?
     default: 3600.0
+  - id: wsclean_tmpdir
+    type: string?
 outputs:
   - id: calibrated_data
     outputSource:
@@ -294,6 +296,8 @@ steps:
         source: selfcal
       - id: chunkduration
         source: chunkduration
+      - id: wsclean_tmpdir
+        source: wsclean_tmpdir
     out:
       - id: logfiles
       - id: msout
diff --git a/workflows/linc_target.cwl b/workflows/linc_target.cwl
index 1e60bbd1b4923dcc2673438ed63ace9f61582b82..cbfa5073e7d4fb5abb5f5c9ba565321980bda81c 100644
--- a/workflows/linc_target.cwl
+++ b/workflows/linc_target.cwl
@@ -163,6 +163,8 @@ inputs:
   - id: chunkduration
     type: float?
     default: 0.0
+  - id: wsclean_tmpdir
+    type: string?
 outputs:
   - id: inspection
     outputSource:
@@ -396,6 +398,8 @@ steps:
         source: gsmcal/out_refant
       - id: targetname
         source: get_targetname/targetname
+      - id: wsclean_tmpdir
+        source: wsclean_tmpdir
     out:
       - id: msout
       - id: solutions
diff --git a/workflows/linc_target/finalize.cwl b/workflows/linc_target/finalize.cwl
index 80841ecfb26be8925c3a8e9a54108729e42f592e..cf6cb38ca740508b780413502e88a8f8a41ee6ae 100644
--- a/workflows/linc_target/finalize.cwl
+++ b/workflows/linc_target/finalize.cwl
@@ -60,6 +60,9 @@ inputs:
   - id: targetname
     type: string?
     default: 'pointing'
+  - id: wsclean_tmpdir
+    type: string?
+    default: '/tmp'
 outputs:
   - id: msout
     outputSource:
@@ -303,7 +306,7 @@ steps:
       - id: maxuvw-m
         default: 20000
       - id: tempdir
-        default: '/tmp/'
+        source: wsclean_tmpdir
       - id: image_name
         source: targetname
     out: