diff --git a/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastqUnitTest.scala b/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastqUnitTest.scala
index e60af846646321501a5902a2eb4d81ddf3392a6d..1939d5351da41e518634d079ff4dc59e21f591c5 100644
--- a/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastqUnitTest.scala
+++ b/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/tools/ExtractAlignedFastqUnitTest.scala
@@ -27,8 +27,11 @@ class ExtractAlignedFastqUnitTest extends TestNGSuite with MockitoSugar with Mat
   private def resourcePath(p: String): String =
     Paths.get(getClass.getResource(p).toURI).toString
 
-  private def makeInterval(chr: String, start: Int, end: Int): Interval =
-    new Interval(chr, start, end)
+  private def makeInterval(chr: String, start: Int, end: Int): Iterator[Interval] =
+    Iterator(new Interval(chr, start, end))
+
+  private def makeInterval(ivs: Iterable[(String, Int, Int)]): Iterator[Interval] =
+    ivs.map(x => new Interval(x._1, x._2, x._3)).toIterator
 
   private def makeRecord(header: String): FastqRecord =
     new FastqRecord(header, "ATGC", "", "HIHI")
@@ -106,15 +109,18 @@ class ExtractAlignedFastqUnitTest extends TestNGSuite with MockitoSugar with Mat
       Array("partial overlap",
         makeInterval("chrQ", 430, 460), sBam01, sFastq1, sFastq1Default.updated("r04", true)),
       Array("enveloped",
-        makeInterval("chrQ", 693, 698), sBam01, sFastq1, sFastq1Default.updated("r03", true))
+        makeInterval("chrQ", 693, 698), sBam01, sFastq1, sFastq1Default.updated("r03", true)),
+      Array("partial overlap and enveloped",
+        makeInterval(List(("chrQ", 693, 698), ("chrQ", 430, 460))), sBam01,
+        sFastq1, sFastq1Default.updated("r03", true).updated("r04", true))
     )
   }
 
   @Test(dataProvider = "singleAlnProvider1")
-  def testSingleBamDefault(name: String, feat: Interval, inAln: File,
+  def testSingleBamDefault(name: String, feats: Iterator[Interval], inAln: File,
                            fastqMap: Map[String, FastqInput], resultMap: Map[String, Boolean]) = {
     require(resultMap.keySet == fastqMap.keySet)
-    val memFunc = makeMembershipFunction(Iterator(feat), inAln)
+    val memFunc = makeMembershipFunction(feats, inAln)
     for ((key, (rec1, rec2)) <- fastqMap) {
       withClue(makeClue(name, inAln, key)) {
         memFunc(rec1, rec2) shouldBe resultMap(key)
@@ -139,10 +145,10 @@ class ExtractAlignedFastqUnitTest extends TestNGSuite with MockitoSugar with Mat
   }
 
   @Test(dataProvider = "singleAlnProvider2")
-  def testSingleBamMinMapQ(name: String, feat: Interval, inAln: File, minMapQ: Int,
+  def testSingleBamMinMapQ(name: String, feats: Iterator[Interval], inAln: File, minMapQ: Int,
                            fastqMap: Map[String, FastqInput], resultMap: Map[String, Boolean]) = {
     require(resultMap.keySet == fastqMap.keySet)
-    val memFunc = makeMembershipFunction(Iterator(feat), inAln, minMapQ)
+    val memFunc = makeMembershipFunction(feats, inAln, minMapQ)
     for ((key, (rec1, rec2)) <- fastqMap) {
       withClue(makeClue(name, inAln, key)) {
         memFunc(rec1, rec2) shouldBe resultMap(key)
@@ -172,15 +178,18 @@ class ExtractAlignedFastqUnitTest extends TestNGSuite with MockitoSugar with Mat
       Array("enveloped",
         makeInterval("chrQ", 693, 698), pBam01, pFastq1, pFastq1Default.updated("r03", true)),
       Array("in intron",
-        makeInterval("chrQ", 900, 999), pBam01, pFastq1, pFastq1Default.updated("r05", true))
+        makeInterval("chrQ", 900, 999), pBam01, pFastq1, pFastq1Default.updated("r05", true)),
+      Array("partial overlap and enveloped",
+        makeInterval(List(("chrQ", 693, 698), ("chrQ", 430, 460))), pBam01,
+        pFastq1, pFastq1Default.updated("r03", true).updated("r04", true))
     )
   }
 
   @Test(dataProvider = "pairAlnProvider1")
-  def testPairBamDefault(name: String, feat: Interval, inAln: File,
+  def testPairBamDefault(name: String, feats: Iterator[Interval], inAln: File,
                          fastqMap: Map[String, FastqInput], resultMap: Map[String, Boolean]) = {
     require(resultMap.keySet == fastqMap.keySet)
-    val memFunc = makeMembershipFunction(Iterator(feat), inAln, commonSuffixLength = 2)
+    val memFunc = makeMembershipFunction(feats, inAln, commonSuffixLength = 2)
     for ((key, (rec1, rec2)) <- fastqMap) {
       withClue(makeClue(name, inAln, key)) {
         memFunc(rec1, rec2) shouldBe resultMap(key)