diff --git a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cnmops.scala b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cnmops.scala
index 973e650774c8beec4a87a1c5f4459fefac1c133d..619ba7f9dcd2f8fed2cbb7c5611a23321229c42a 100644
--- a/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cnmops.scala
+++ b/biopet-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/Cnmops.scala
@@ -43,28 +43,34 @@ class Cnmops(val root: Configurable) extends RscriptCommandLineFunction {
   // output files, computed automatically from output directory
   @Output(doc = "Output CNV file")
   lazy val outputCnv: File = {
-    require(!outputDir.isEmpty, "Unexpected error when trying to set cn.MOPS CNV output")
-    new File(outputDir, "cnv.txt")
+    outputDir match {
+      case Some(dir) if dir.exists => new File(dir, "cnv.txt")
+      case _ => throw new IllegalArgumentException("Unexpected error when trying to set cn.MOPS CNV output")
+    }
   }
 
   @Output(doc = "Output CNR file")
   lazy val outputCnr: File = {
-    require(!outputDir.isEmpty, "Unexpected error when trying to set cn.MOPS CNR output")
-    new File(outputDir, "cnr.txt")
+    outputDir match {
+      case Some(dir) if dir.exists => new File(dir, "cnr.txt")
+      case _ => throw new IllegalArgumentException("Unexpected error when trying to set cn.MOPS CNR output")
+    }
   }
 
   @Output(doc = "Raw output")
   lazy val rawOutput: File = {
-    require(!outputDir.isEmpty, "Unexpected error when trying to set cn.MOPS raw output")
-    new File(outputDir, "rawoutput.txt")
+    outputDir match {
+      case Some(dir) if dir.exists => new File(dir, "rawoutput.txt")
+      case _ => throw new IllegalArgumentException("Unexpected error when trying to set cn.MOPS raw output")
+    }
   }
 
   /** write all output files to this directory [./] */
-  var outputDir: String = _
+  var outputDir: Option[File] = None
 
   override def beforeGraph = {
     super.beforeGraph
-    require(!outputDir.isEmpty, "Outputdir for cn.MOPS should not be empty")
+    require(outputDir.isDefined, "Outputdir for cn.MOPS should not be empty")
     require(input.length >= 2, "Please supply at least 2 BAM files for cn.MOPS")
   }
 
diff --git a/kopisu/src/main/scala/nl/lumc/sasc/biopet/pipelines/kopisu/methods/CnmopsMethod.scala b/kopisu/src/main/scala/nl/lumc/sasc/biopet/pipelines/kopisu/methods/CnmopsMethod.scala
index 3fab9544023ec3ba9ba452cc6a804beda88e4f2d..d3cf28866ad527696a1ff2a4b1f7bcbec248a74f 100644
--- a/kopisu/src/main/scala/nl/lumc/sasc/biopet/pipelines/kopisu/methods/CnmopsMethod.scala
+++ b/kopisu/src/main/scala/nl/lumc/sasc/biopet/pipelines/kopisu/methods/CnmopsMethod.scala
@@ -27,7 +27,7 @@ class CnmopsMethod(val root: Configurable) extends CnvMethod {
         case (sampleName, bamFile) => Some(bamFile)
         case _                     => None
       }.toList
-      cnmops.outputDir = new File(outputDir, contig.getSequenceName).getAbsolutePath
+      cnmops.outputDir = Some(new File(outputDir, contig.getSequenceName))
       cnmops.beforeGraph
       cnmops
     }).toList