diff --git a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsQiimeClosed.scala b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsQiimeClosed.scala
index dae73af73aa8413188a383e700f27372aaf23b26..f78a7f20718d1dbdd635879a3c3955d170b36a31 100644
--- a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsQiimeClosed.scala
+++ b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsQiimeClosed.scala
@@ -19,9 +19,7 @@ import scala.xml.{ PrettyPrinter, Elem }
  */
 class GearsQiimeClosed(val root: Configurable) extends QScript with SummaryQScript with SampleLibraryTag {
 
-  var fastqR1: File = _
-
-  var fastqR2: Option[File] = None
+  var fastqInput: File = _
 
   override def defaults = Map(
     "splitlibrariesfastq" -> Map(
@@ -30,7 +28,7 @@ class GearsQiimeClosed(val root: Configurable) extends QScript with SummaryQScri
   )
 
   def init() = {
-    require(fastqR1 != null)
+    require(fastqInput != null)
   }
 
   private var _otuMap: File = _
@@ -41,19 +39,8 @@ class GearsQiimeClosed(val root: Configurable) extends QScript with SummaryQScri
 
   def biopetScript() = {
 
-    val fastqFile = fastqR2 match {
-      case Some(r2) =>
-        val flash = new Flash(this)
-        flash.outputDirectory = new File(outputDir, "combine_reads_flash")
-        flash.fastqR1 = fastqR1
-        flash.fastqR2 = r2
-        add(flash)
-        flash.combinedFastq
-      case _ => fastqR1
-    }
-
     val splitLib = new SplitLibrariesFastq(this)
-    splitLib.input :+= fastqFile
+    splitLib.input :+= fastqInput
     splitLib.outputDir = new File(outputDir, "split_libraries_fastq")
     sampleId.foreach(splitLib.sample_ids :+= _)
     add(splitLib)
diff --git a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsSingle.scala b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsSingle.scala
index e966e2371f9493368a2edef40972ab2c578a6f31..0cf2d0f00e7e4d9eb1fd8b1d1fe7dc6239111356 100644
--- a/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsSingle.scala
+++ b/public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsSingle.scala
@@ -18,6 +18,7 @@ package nl.lumc.sasc.biopet.pipelines.gears
 import nl.lumc.sasc.biopet.core.summary.SummaryQScript
 import nl.lumc.sasc.biopet.core.BiopetQScript.InputFile
 import nl.lumc.sasc.biopet.core.{ PipelineCommand, SampleLibraryTag }
+import nl.lumc.sasc.biopet.extensions.Flash
 import nl.lumc.sasc.biopet.pipelines.flexiprep.Flexiprep
 import nl.lumc.sasc.biopet.utils.config.Configurable
 import org.broadinstitute.gatk.queue.QScript
@@ -100,6 +101,19 @@ class GearsSingle(val root: Configurable) extends QScript with SummaryQScript wi
       case _ => throw new IllegalArgumentException("Missing input files")
     }
 
+    lazy val combinedFastq = {
+      r2 match {
+        case Some(r2) =>
+          val flash = new Flash(this)
+          flash.outputDirectory = new File(outputDir, "combine_reads_flash")
+          flash.fastqR1 = r1
+          flash.fastqR2 = r2
+          add(flash)
+          flash.combinedFastq
+        case _ => r1
+      }
+    }
+
     krakenScript foreach { kraken =>
       kraken.outputDir = new File(outputDir, "kraken")
       kraken.fastqR1 = r1
@@ -117,8 +131,7 @@ class GearsSingle(val root: Configurable) extends QScript with SummaryQScript wi
 
     qiimeClosed foreach { qiimeClosed =>
       qiimeClosed.outputDir = new File(outputDir, "qiime_closed")
-      qiimeClosed.fastqR1 = r1
-      qiimeClosed.fastqR2 = r2
+      qiimeClosed.fastqInput = combinedFastq
       add(qiimeClosed)
 
       //TODO: Plots