diff --git a/workflow/rules/analysis.smk b/workflow/rules/analysis.smk
index d60d3af071a93b492f5881227752ba12304ea524..cf08267774f71ad92bf08f715e42205332a4b3c6 100644
--- a/workflow/rules/analysis.smk
+++ b/workflow/rules/analysis.smk
@@ -179,7 +179,7 @@ rule analysis_mash_sketch_sr:
         r1=os.path.join(RESULTS_DIR, "preproc/{mtype}/sr/R1.fastp.fastq.gz"),
         r2=os.path.join(RESULTS_DIR, "preproc/{mtype}/sr/R2.fastp.fastq.gz")
     output:
-        temp("preproc/{mtype}/sr/fastp.msh")
+        temp(os.path.join(RESULTS_DIR, "preproc/{mtype}/sr/fastp.msh"))
     log:
         "logs/mash.sketch.{mtype}.sr.log"
     wildcard_constraints:
@@ -194,7 +194,7 @@ rule analysis_mash_sketch_lr:
     input:
         os.path.join(RESULTS_DIR, "preproc/metag/lr/lr.fastq.gz")
     output:
-        temp("preproc/metag/lr/fastp.msh")
+        temp(os.path.join(RESULTS_DIR, "preproc/metag/lr/fastp.msh"))
     log:
         "logs/mash.sketch.metag.lr.log"
     threads: 1
@@ -205,8 +205,8 @@ rule analysis_mash_sketch_lr:
 
 rule analysis_mash_paste_reads:
     input:
-        sr=expand("preproc/{mtype}/sr/fastp.msh", mtype=META_TYPES),
-        lr="preproc/metag/lr/fastp.msh"
+        sr=expand(os.path.join(RESULTS_DIR, "preproc/{mtype}/sr/fastp.msh"), mtype=META_TYPES),
+        lr=os.path.join(RESULTS_DIR, "preproc/metag/lr/fastp.msh")
     output:
         os.path.join(RESULTS_DIR, "analysis/mash/reads.msh")
     threads: 1