diff --git a/src/nf_modules/fastp/main.nf b/src/nf_modules/fastp/main.nf
index a44e6e89a7929485857c29daca30f8e34d7f3048..8b26437596eaaac2f079dd2129b191ba470c079e 100644
--- a/src/nf_modules/fastp/main.nf
+++ b/src/nf_modules/fastp/main.nf
@@ -6,13 +6,15 @@ process fastp_pairedend {
   container = "${container_url}"
   label "big_mem_multi_cpus"
   tag "$pair_id"
+  publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html"
 
   input:
   tuple val(pair_id), path(reads)
 
   output:
     tuple val(pair_id), path("*.fastq.gz"), emit: fastq
-    tuple val(pair_id), path("*.{zip,html,json}"), emit: report
+    tuple val(pair_id), path("*.html"), emit: html
+    tuple val(pair_id), path("*.json"), emit: report
 
   script:
 """
@@ -25,7 +27,7 @@ fastp --thread ${task.cpus} \
 --out1 ${pair_id}_R1_trim.fastq.gz \
 --out2 ${pair_id}_R2_trim.fastq.gz \
 --html ${pair_id}.html \
---json ${pair_id}.json \
+--json ${pair_id}_fastp.json \
 --report_title ${pair_id}
 """
 }
@@ -34,13 +36,15 @@ process fastp_singleend {
   container = "${container_url}"
   label "big_mem_multi_cpus"
   tag "$pair_id"
+  publishDir "results/QC/fastp/", mode: 'copy', pattern: "*.html"
 
   input:
   tuple val(pair_id), path(reads)
 
   output:
     tuple val(pair_id), path("*.fastq.gz"), emit: fastq
-    tuple val(pair_id), path("*.{zip,html,json}"), emit: report
+    tuple val(pair_id), path("*.html"), emit: html
+    tuple val(pair_id), path("*.json"), emit: report
 
   script:
 """
@@ -51,7 +55,7 @@ fastp --thread ${task.cpus} \
 --in1 ${reads} \
 --out1 ${pair_id}_trim.fastq.gz \
 --html ${pair_id}.html \
---json ${pair_id}.json \
+--json ${pair_id}_fastp.json \
 --report_title ${pair_id}
 """
 }