diff --git a/CHANGELOG.md b/CHANGELOG.md
index 761a706140ffa4986a595291b09fd62cf80c7bd5..b4dfcdf3266b106d22d254bad61ec9a2bb611d2e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
 **User Facing**
 
 **Background**
-* Add memory limit per thread for samtools sort (#108)
+* Add memory limit (75%) per thread for samtools sort (#108)
 * Remove parsing restrictions for submitted stranded/spike/species (#105, #106)
 * Pass unidentified ends instead of overwriting it as unknown
 * Move fastqc process before trim to catch fastq errors (#107)
@@ -13,7 +13,8 @@
 * Handle blank submitted endness better
 * Don't use file.csv from inputBag to parse manual endness, use counted from getData
 * Detect malformed fastq's (#107)
-* Restrict sampled alignment process to use >32GB nodes on BioHPC
+* Restrict sampled alignment process to use >32GB nodes on BioHPC (#108)
+* Use nproc**-1** for alignment processes (#108)
 
 *Known Bugs*
 * Override params (inputBag, fastq, species) aren't checked for integrity
diff --git a/workflow/rna-seq.nf b/workflow/rna-seq.nf
index 5c68c00854de4368859ff0222c6e5d54e19c2542..e5962054809e06611db398955e62eab378ed41e4 100644
--- a/workflow/rna-seq.nf
+++ b/workflow/rna-seq.nf
@@ -873,9 +873,10 @@ process alignSampleData {
 
     # sort the bam file using Samtools
     echo -e "LOG: sorting the bam file" >> ${repRID}.${ref}.alignSampleData.log
+    proc=\$(expr `nproc` - 1)
     mem=\$(vmstat -s -S K | grep 'total memory' | grep -o '[0-9]*')
-    mem=\$(expr \${mem} / `nproc` \\* 85 / 100)
-    samtools sort -@ `nproc` -m \${mem}K -O BAM -o ${ref}.sampled.sorted.bam ${ref}.sampled.bam
+    mem=\$(expr \${mem} / \${proc} \\* 85 / 100)
+    samtools sort -@ \${proc} -m \${mem}K -O BAM -o ${ref}.sampled.sorted.bam ${ref}.sampled.bam
 
     # index the sorted bam using Samtools
     echo -e "LOG: indexing sorted bam file" >> ${repRID}.${ref}.alignSampleData.log
@@ -1576,9 +1577,10 @@ process alignData {
 
     # sort the bam file using Samtools
     echo -e "LOG: sorting the bam file" >> ${repRID}.align.log
+    proc=\$(expr `nproc` - 1)
     mem=\$(vmstat -s -S K | grep 'total memory' | grep -o '[0-9]*')
-    mem=\$(expr \${mem} / `nproc` \\* 85 / 100)
-    samtools sort -@ `nproc` -m \${mem}K -O BAM -o ${repRID}.sorted.bam ${repRID}.bam
+    mem=\$(expr \${mem} / \${proc} \\* 75 / 100)
+    samtools sort -@ \${proc} -m \${mem}K -O BAM -o ${repRID}.sorted.bam ${repRID}.bam
 
     # index the sorted bam using Samtools
     echo -e "LOG: indexing sorted bam file" >> ${repRID}.align.log