diff --git a/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala b/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala
index 2cfb86e50c557435e44cf082dee40312391a0070..08788a294d7e70237d8f7c88263e778d077c6323 100644
--- a/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala
+++ b/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala
@@ -14,12 +14,12 @@
  */
 package nl.lumc.sasc.biopet.utils.intervals
 
-import java.io.{ PrintWriter, File }
+import java.io.{ File, PrintWriter }
 
+import htsjdk.samtools.SAMSequenceDictionary
 import htsjdk.samtools.reference.FastaSequenceFile
 
 import scala.collection.JavaConversions._
-
 import scala.collection.mutable
 import scala.collection.mutable.ListBuffer
 import scala.io.Source
@@ -154,8 +154,13 @@ object BedRecordList {
 
   def fromReference(file: File) = {
     val referenceFile = new FastaSequenceFile(file, true)
+    val dict = referenceFile.getSequenceDictionary
+    referenceFile.close()
+    fromDict(dict)
+  }
 
-    fromList(for (contig <- referenceFile.getSequenceDictionary.getSequences) yield {
+  def fromDict(dict: SAMSequenceDictionary) = {
+    fromList(for (contig <- dict.getSequences) yield {
       BedRecord(contig.getSequenceName, 0, contig.getSequenceLength)
     })
   }