diff --git a/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py b/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py
index afbf0fba60c61c77734393b3e98322de9967821b..46680fbf2b22fae60cf222a72cfba9e338545f05 100644
--- a/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py
+++ b/mhcflurry/class1_affinity_prediction/train_allele_specific_models_command.py
@@ -200,7 +200,7 @@ def run(argv=sys.argv[1:]):
 
                 # When running in serial we try to estimate time remaining.
                 data_trained_on += len(item['data'])
-                progress = data_trained_on / total_data_to_train_on
+                progress = float(data_trained_on) / total_data_to_train_on
                 time_elapsed = time.time() - start
                 total_time = time_elapsed / progress
                 print(