diff --git a/lib/generators/templates/blast.rb b/lib/generators/templates/blast.rb
index <HASH>..<HASH> 100644
--- a/lib/generators/templates/blast.rb
+++ b/lib/generators/templates/blast.rb
@@ -295,7 +295,13 @@ module Quorum
 
         logger("NCBI Blast", @cmd)
 
-        @cmd.each { |c| system(c) }
+        # Execute each system command in a Thread.
+        threads = []
+        @cmd.each do |c|
+          threads << Thread.new { system(c) }
+        end
+        # Wait for every Thread to finish working.
+        threads.each { |t| t.join }
 
         parse_and_save_results
       end
diff --git a/spec/dummy/quorum/lib/tools/blast.rb b/spec/dummy/quorum/lib/tools/blast.rb
index <HASH>..<HASH> 100644
--- a/spec/dummy/quorum/lib/tools/blast.rb
+++ b/spec/dummy/quorum/lib/tools/blast.rb
@@ -295,7 +295,13 @@ module Quorum
 
         logger("NCBI Blast", @cmd)
 
-        @cmd.each { |c| system(c) }
+        # Execute each system command in a Thread.
+        threads = []
+        @cmd.each do |c|
+          threads << Thread.new { system(c) }
+        end
+        # Wait for every Thread to finish working.
+        threads.each { |t| t.join }
 
         parse_and_save_results
       end
Execute each Blast system command in a Thread.