diff --git a/mhcflurry/train_allele_specific_models_command.py b/mhcflurry/train_allele_specific_models_command.py
index 9396230b2e23af67022f6c942ca9237cdb3a92aa..07025dac74db2dfbc9f0c4520d3aaa3281778b74 100644
--- a/mhcflurry/train_allele_specific_models_command.py
+++ b/mhcflurry/train_allele_specific_models_command.py
@@ -194,9 +194,10 @@ def run(argv=sys.argv[1:]):
             # environment variable. To do this, we push environment variables
             # onto a queue. Each worker reads a single item from the queue,
             # which is a list of environment variables to set.
+            cpus = 16
             next_device = itertools.cycle([
                 "%d" % num for num in range(args.gpus)
-            ])
+            ] + ["" for num in range(cpus)])
             env_queue = Queue()
             for num in range(args.num_jobs[0]):
                 item = [