diff --git a/modules/local/hicstuff/bam2pairs.nf b/modules/local/hicstuff/bam2pairs.nf
index 4908e9f2fa9667ae77b0f381f43de09f38c7dcf4..2e273606f691dd8c48010f85d7a7106fe104084b 100644
--- a/modules/local/hicstuff/bam2pairs.nf
+++ b/modules/local/hicstuff/bam2pairs.nf
@@ -6,18 +6,18 @@ process BAM2PAIRS {
     container = "lbmc/hicstuff:3.1.3"
 
     input:
-    val(bam)
+    tuple val(meta1), path(bam1), val(meta2), path(bam2)
     tuple val(meta), path(info_contigs)
     val(digestion)
     tuple val(meta), path(fasta)
 
     output:
-    tuple val(meta), path("valid.pairs"), emit: valid_pairs
-    tuple val(meta), path("valid_idx.pairs"), emit: idx_pairs
+    tuple val(meta1), path("valid.pairs"), emit: valid_pairs
+    tuple val(meta1), path("valid_idx.pairs"), emit: idx_pairs
 
     script:
     """
-    hicstuff_bam2pairs.py -b1 ${bam[1]} -b2 ${bam[3]} -o valid.pairs -x valid_idx.pairs -i ${info_contigs} -q 30 -e ${digestion} -f ${fasta}
+    hicstuff_bam2pairs.py -b1 ${bam1} -b2 ${bam2} -o valid.pairs -x valid_idx.pairs -i ${info_contigs} -q 30 -e ${digestion} -f ${fasta}
     """
 
 }
diff --git a/modules/local/hicstuff/build_matrix.nf b/modules/local/hicstuff/build_matrix.nf
index 457015983b1c055e58ec4fccdcca70d96cd0e1b3..0036dcb20d1134d4abbf5858d1a5509af2f9aa80 100644
--- a/modules/local/hicstuff/build_matrix.nf
+++ b/modules/local/hicstuff/build_matrix.nf
@@ -1,5 +1,5 @@
 process BUILD_MATRIX {
-    tag '$valid_pairs'
+    tag '$idx_pairs'
     label 'process_single'
 
     conda "conda-forge::python=3.9 conda-forge::biopython=1.80 conda-forge::numpy=1.22.3 conda-forge::matplotlib=3.6.3 conda-forge::pandas=1.5.3"
diff --git a/subworkflows/local/hicstuff_sub.nf b/subworkflows/local/hicstuff_sub.nf
index d007bd375deaa347a48881e42e736bc3743450d8..09cd683e3ee376045ce662d68ae4628721b681df 100644
--- a/subworkflows/local/hicstuff_sub.nf
+++ b/subworkflows/local/hicstuff_sub.nf
@@ -51,10 +51,14 @@ workflow HICSTUFF_SUB {
     )
 
     BAM2PAIRS(
-        BOWTIE2_ALIGNMENT.out.bam.collect(),
-        FRAGMENT_ENZYME.out.info_contigs,
+        BOWTIE2_ALIGNMENT.out.bam.combine(BOWTIE2_ALIGNMENT.out.bam)
+            .map {
+                meta1, bam1, meta2, bam2 ->
+                    meta1.id == meta2.id && meta1.mates == "R1" && meta2.mates == "R2" ? [ meta1,  bam1,  meta2, bam2 ] : null
+        },
+        FRAGMENT_ENZYME.out.info_contigs.collect(),
         digestion,
-        fasta
+        fasta.collect()
     )
 
     BUILD_MATRIX(