diff --git a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
index 76685a427da58dc9e62915c913835fcd99c9c69e..ed89542f2a3e1f5869131c5c6ae5bd9a2abb6be0 100644
--- a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
+++ b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BamMetrics.scala
@@ -176,8 +176,7 @@ class BamMetrics(val root: Configurable) extends QScript with SummaryQScript wit
       val covStats = CoverageStats(this, coverageFile, targetDir)
       covStats.title = Some("Coverage for " + targetName)
       covStats.subTitle = Some(".")
-      val pipe = new BiopetFifoPipe(this, bedCov :: covStats :: Nil)
-      add(pipe)
+      add(bedCov | covStats)
       addSummarizable(covStats, targetName + "_cov_stats")
     }
 
diff --git a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/scripts/CoverageStats.scala b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/scripts/CoverageStats.scala
index 212724776c3dad98a1c514d17d6c66623c169127..4a4795cf91a498775718f8b58e7fb4ae3b1618a9 100644
--- a/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/scripts/CoverageStats.scala
+++ b/public/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/scripts/CoverageStats.scala
@@ -26,7 +26,7 @@ import org.broadinstitute.gatk.utils.commandline.{ Input, Output }
 class CoverageStats(val root: Configurable) extends PythonCommandLineFunction with Summarizable {
   setPythonScript("bedtools_cov_stats.py")
 
-  @Input(doc = "Input file")
+  @Input(doc = "Input file", required = false)
   var input: File = _
 
   @Output(doc = "output File")
@@ -41,7 +41,7 @@ class CoverageStats(val root: Configurable) extends PythonCommandLineFunction wi
   override def defaultCoreMemory = 9.0
 
   def cmdLine = getPythonCommand +
-    required(input) +
+    (if (inputAsStdin) " - " else required(input)) +
     required("--plot", plot) +
     optional("--title", title) +
     optional("--subtitle", subTitle) +
diff --git a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/BedtoolsCoverage.scala b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/BedtoolsCoverage.scala
index 98024e79e25aa0c98624e2ff0e01783d37e35537..efb3c1abe0e0e6aeb6d726b55e18facdda89396f 100644
--- a/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/BedtoolsCoverage.scala
+++ b/public/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/bedtools/BedtoolsCoverage.scala
@@ -56,7 +56,7 @@ class BedtoolsCoverage(val root: Configurable) extends Bedtools {
     conditional(depth, "-d") +
     conditional(sameStrand, "-s") +
     conditional(diffStrand, "-S") +
-    " > " + required(output)
+    (if (outputAsStsout) "" else " > " + required(output))
 }
 
 object BedtoolsCoverage {