diff --git a/workflow/scripts/pool_and_psuedoreplicate.py b/workflow/scripts/pool_and_psuedoreplicate.py
index 7d27b971f038c33e81268728bd9aaec3450c0b33..94b5d124d3a5f7c4d2e4b64e71d08a11f0717e75 100644
--- a/workflow/scripts/pool_and_psuedoreplicate.py
+++ b/workflow/scripts/pool_and_psuedoreplicate.py
@@ -142,7 +142,7 @@ def self_psuedoreplication(tag_file, prefix, paired):
 
     out, err = utils.run_pipe([
         'gzip -dc %s' % (tag_file),
-        'shuf --random-source=%s' % (tag_file),
+        'shuf --random-source=<(openssl enc -aes-256-ctr -pass pass:$(zcat -f %s | wc -c) -nosalt </dev/zero 2>/dev/null)' % (tag_file),
         'split -d -l %d - %s' % (lines_per_rep, splits_prefix)])
 
     # Convert read pairs to reads into standard tagAlign file