diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala
index 9311579649ff63ade803e4870f221b70c0885d44..cf117f9ad5df89bb1f46c6ed4dfdeadf720ad994 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala
@@ -22,11 +22,11 @@ import scala.io.Source
 import org.broadinstitute.gatk.queue.function.{ QFunction, InProcessFunction }
 import org.broadinstitute.gatk.utils.commandline.{ Output, Input }
 
+import nl.lumc.sasc.biopet.{ LastCommitHash, Version }
 import nl.lumc.sasc.biopet.core.{ BiopetJavaCommandLineFunction, BiopetCommandLineFunction, BiopetCommandLineFunctionTrait, SampleLibraryTag }
 import nl.lumc.sasc.biopet.core.config.Configurable
 import nl.lumc.sasc.biopet.utils.ConfigUtils
 
-
 /**
  * Created by pjvan_thof on 2/14/15.
  */
@@ -106,9 +106,13 @@ class WriteSummary(val root: Configurable) extends InProcessFunction with Config
         (v1: Any, v2: Any, key: String) => summarizable.resolveSummaryConflict(v1, v2, key))
     }).foldRight(pipelineMap)((a, b) => ConfigUtils.mergeMaps(a._1, b, a._2))
 
-    val combinedMap = (for (qscript <- qscript.summaryQScripts) yield {
-      ConfigUtils.fileToConfigMap(qscript.summaryFile)
-    }).foldRight(jobsMap)((a, b) => ConfigUtils.mergeMaps(a, b))
+    val combinedMap = Map("meta" -> Map(
+      "last_commit_hash" -> LastCommitHash,
+      "pipeline_version" -> Version
+    )) ++
+      (for (qscript <- qscript.summaryQScripts) yield {
+        ConfigUtils.fileToConfigMap(qscript.summaryFile)
+      }).foldRight(jobsMap)((a, b) => ConfigUtils.mergeMaps(a, b))
 
     val writer = new PrintWriter(out)
     writer.println(ConfigUtils.mapToJson(combinedMap).spaces4)