diff --git a/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala b/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala
index c0d8747dde7d5598acc80ea7e85b9c3c5ec72941..11b59f2fa52bf56e455475e2e719a746f6ff41ed 100644
--- a/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala
+++ b/protected/biopet-gatk-extensions/src/main/scala/nl/lumc/sasc/biopet/extensions/gatk/broad/GatkGeneral.scala
@@ -43,7 +43,7 @@ trait GatkGeneral extends CommandLineGATK with CommandLineResources with Referen
   def versionCommand = "java" + " -jar " + jarFile + " -version"
 
   override def getVersion = {
-    executable = BiopetCommandLineFunction.preProcessExecutable(executable).path
+    BiopetCommandLineFunction.preProcessExecutable(executable).path.foreach(executable = _)
     super.getVersion.collect { case v => "Gatk " + v }
   }
 }
diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala
index d1267521011c28be34858f8e2da20a6eb94e5223..c0046d0535ccb5c429b2fa8b5707868c74f71f41 100644
--- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala
+++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/BiopetCommandLineFunction.scala
@@ -99,7 +99,7 @@ trait BiopetCommandLineFunction extends CommandLineResources { biopetFunction =>
    */
   protected[core] def preProcessExecutable() {
     val exe = BiopetCommandLineFunction.preProcessExecutable(executable)
-    executable = exe.path
+    exe.path.foreach(executable = _)
     addJobReportBinding("md5sum_exe", exe.md5.getOrElse("N/A"))
   }
 
@@ -199,7 +199,7 @@ object BiopetCommandLineFunction extends Logging {
   private[core] val executableMd5Cache: mutable.Map[String, String] = mutable.Map()
   private[core] val executableCache: mutable.Map[String, String] = mutable.Map()
 
-  case class Executable(path: String, md5: Option[String])
+  case class Executable(path: Option[String], md5: Option[String])
   def preProcessExecutable(executable: String): Executable = {
     if (!BiopetCommandLineFunction.executableMd5Cache.contains(executable)) {
       if (executable != null) {
@@ -236,7 +236,7 @@ object BiopetCommandLineFunction extends Logging {
         }
       }
     }
-    Executable(BiopetCommandLineFunction.executableCache(executable),
+    Executable(BiopetCommandLineFunction.executableCache.get(executable),
       BiopetCommandLineFunction.executableMd5Cache.get(executable))
   }
 }