diff --git a/htseq.wdl b/htseq.wdl
index 0e922db8139842f39dd17b010196a292707067d7..cdfc98421feb745340bb5dabe6908c670ef3c9d0 100644
--- a/htseq.wdl
+++ b/htseq.wdl
@@ -5,7 +5,8 @@ import "common.wdl"
 task HTSeqCount {
     input {
         String? preCommand
-        Array[IndexedBamFile] inputBamFiles
+        Array[File]+ inputBams
+        Array[File]+ inputBamsIndex
         File gtfFile
         String outputTable
         String format = "bam"
@@ -23,7 +24,7 @@ task HTSeqCount {
         -f ~{format} \
         -r ~{order} \
         -s ~{stranded} \
-        ~{sep=" " inputBamFiles.file} \
+        ~{sep=" " inputBams} \
         ~{gtfFile} \
         > ~{outputTable}
     }
diff --git a/macs2.wdl b/macs2.wdl
index 4f1e1be71eedbc1ac810866e6c6b94ab569f19e4..982802f6d33fde3c6eb5024a1262fced21f74382 100644
--- a/macs2.wdl
+++ b/macs2.wdl
@@ -5,7 +5,8 @@ import "common.wdl"
 task PeakCalling {
     input {
         String? preCommand
-        Array[IndexedBamFile] bamFiles
+        Array[File]+ inputBams
+        Array[File]+ inputBamsIndex
         String outDir
         String sampleName
         Int threads = 1
@@ -17,7 +18,7 @@ task PeakCalling {
         set -e -o pipefail
         ~{preCommand}
         macs2 callpeak \
-        --treatment ~{sep = ' ' bamFiles.file} \
+        --treatment ~{sep = ' ' inputBams} \
         --outdir ~{outDir} \
         --name ~{sampleName} \
         ~{true='--nomodel' false='' nomodel}
diff --git a/manta.wdl b/manta.wdl
index 3c37e5e9f05e4eb7c6a1ee5a92f538ef1086dfe0..5b8b1cdd2c0cf0eda2264416cc1e6e2751e8ccb1 100644
--- a/manta.wdl
+++ b/manta.wdl
@@ -19,11 +19,13 @@ task ConfigureSomatic {
         then installDir + "bin/configMata.py"
         else "configManta.py"
 
+    String normalArg = if (defined(normalBam)) then "--normalBam " + select_first([normalBam]).file else ""
+
     command {
         set -e -o pipefail
         ~{preCommand}
         ~{toolCommand} \
-        ~{"--normalBam " + normalBam.file} \
+        ~{normalArg} \
         ~{"--tumorBam " + tumorBam.file} \
         --referenceFasta ~{reference.fasta} \
         ~{"--callRegions " + callRegions} \
diff --git a/vardict.wdl b/vardict.wdl
index 0275ef1994ba601e9c777419805441060e71996e..989fc25417e2a77601dbeb18a06d6480d6b486b2 100644
--- a/vardict.wdl
+++ b/vardict.wdl
@@ -25,6 +25,8 @@ task VarDict {
         Float memoryMultiplier = 2.0
     }
 
+    String normalArg = if (defined(normalBam)) then "|" + select_first([normalBam]).file else ""
+
     String toolCommand = if defined(installDir)
         then installDir + "/VarDict"
         else if useJavaVersion
@@ -38,7 +40,7 @@ task VarDict {
         ~{toolCommand} \
         -G ~{reference.fasta} \
         -N ~{tumorSampleName} \
-        -b "~{tumorBam.file}~{"|" + normalBam.file}" \
+        -b "~{tumorBam.file}~{normalArg}" \
         ~{true="" false="-z" defined(normalBam)} \
         -c ~{chromosomeColumn} \
         -S ~{startColumn} \