diff --git a/downloads-generation/models_class1/GENERATE.sh b/downloads-generation/models_class1/GENERATE.sh
index 8e4905fa9f01d7203be6017d1595631b41c1ec77..a63b17de22b294eae23970d75fde2c8c7b2166ac 100755
--- a/downloads-generation/models_class1/GENERATE.sh
+++ b/downloads-generation/models_class1/GENERATE.sh
@@ -37,7 +37,8 @@ time mhcflurry-class1-train-allele-specific-models \
     --out-models-dir models \
     --percent-rank-calibration-num-peptides-per-length 1000000 \
     --min-measurements-per-allele 75 \
-    --parallelization-num-jobs 0
+    --train-num-jobs 0 \
+    --calibration-num-jobs 4
 
 cp $SCRIPT_ABSOLUTE_PATH .
 bzip2 LOG.txt
diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py
index aee7d2e5fa2b9c297ec85bc8d8672d3dbbe6e6d9..88c807afcd3f2a35bf4a8e0c6b3422eee93d19a2 100644
--- a/mhcflurry/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_predictor.py
@@ -933,11 +933,6 @@ class Class1AffinityPredictor(object):
 
         if worker_pool and len(alleles) > 1:
             # Run in parallel
-
-            # Performance hack.
-            for network in self.neural_networks:
-                network.peptides_to_network_input(encoded_peptides)
-
             do_work = partial(
                 _calibrate_percentile_ranks,
                 predictor=self,
@@ -969,13 +964,14 @@ def _calibrate_percentile_ranks(alleles, predictor, peptides, bins):
 
     Parameters
     ----------
-    alleles
-    predictor
-    peptides
-    bins
+    alleles : list of string
+    predictor : Class1AffinityPredictor
+    peptides : list of string or EncodableSequences
+    bins : object
 
     Returns
     -------
+    dict : allele -> percentile rank transform
 
     """
     result = {}
diff --git a/mhcflurry/train_allele_specific_models_command.py b/mhcflurry/train_allele_specific_models_command.py
index dfd77d4c96e5e4145b68e8475a19f3b42ab90230..406da3e0ea647e741cdbe5dc95ee243496c5b7aa 100644
--- a/mhcflurry/train_allele_specific_models_command.py
+++ b/mhcflurry/train_allele_specific_models_command.py
@@ -85,7 +85,15 @@ parser.add_argument(
     help="Keras verbosity. Default: %(default)s",
     default=0)
 parser.add_argument(
-    "--parallelization-num-jobs",
+    "--train-num-jobs",
+    default=1,
+    type=int,
+    metavar="N",
+    help="Parallelization jobs. Experimental. "
+    "Set to 1 for serial run. Set to 0 to use number of cores. "
+    "Default: %(default)s.")
+parser.add_argument(
+    "--calibration-num-jobs",
     default=1,
     type=int,
     metavar="N",