diff --git a/workflow/Snakefile b/workflow/Snakefile
index f702c7e50ab5bb0abc89908cc10825e57b16b0c8..2714fd7344d3110ae751baaa8dd81f431d7885ea 100644
--- a/workflow/Snakefile
+++ b/workflow/Snakefile
@@ -705,7 +705,8 @@ rule sort_genomic_alignment_samtools:
             current_rule + ".{seqmode}.stdout.log")
 
     shell:
-        "(samtools sort \
+        "(mkdir -p {output.prefix_temp_dir}; \
+        samtools sort \
         -o {output.bam} \
         -T {output.prefix_temp_dir} \
         -@ {threads} \
@@ -725,13 +726,7 @@ rule index_genomic_alignment_samtools:
             "samples",
             "{sample}",
             "map_genome",
-            "{sample}.{seqmode}.Aligned.sortedByCoord.out.bam"),
-        prefix_temp_dir = os.path.join(
-            config["output_dir"],
-            "samples",
-            "{sample}.{seqmode}",
-            "sort_genomic_alignment_samtools"
-        )
+            "{sample}.{seqmode}.Aligned.sortedByCoord.out.bam")
 
     output:
         bai = os.path.join(