diff --git a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
index 4230524136acc545de229277fe726529aa83048d..82ea3f70de6b07bbdbe436d438972a09546dabf9 100644
--- a/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_prediction/class1_affinity_predictor.py
@@ -256,7 +256,7 @@ class Class1AffinityPredictor(object):
             'peptide': peptides,
             'allele': alleles,
         })
-        df["normalized_allele"] = input_df.allele.map(
+        df["normalized_allele"] = df.allele.map(
             mhcnames.normalize_allele_name)
 
         if self.class1_pan_allele_models:
@@ -283,13 +283,17 @@ class Class1AffinityPredictor(object):
         df_predictions = df[
             [c for c in df.columns if c.startswith("model_")]
         ]
-        log_means = numpy.log(df_predictions).mean(1)
+        logs = numpy.log(df_predictions)
+        log_means = logs.mean(1)
         df["prediction"] = numpy.exp(log_means)
-        df["prediction_low"] = numpy.exp(log_means.quantile(q=.05, axis=1))
-        df["prediction_high"] = numpy.exp(log_means.quantile(q=.05, axis=1))
+        df["prediction_low"] = numpy.exp(logs.quantile(0.05, axis=1))
+        df["prediction_high"] = numpy.exp(logs.quantile(0.95, axis=1))
 
+        del df["normalized_allele"]
         if include_individual_model_predictions:
-            return df
-        return df[
-            [c for c in df.columns if c not in df_predictions.columns]
-        ]
\ No newline at end of file
+            columns = sorted(df.columns, key=lambda c: c.startswith('model_'))
+        else:
+            columns = [
+                c for c in df.columns if c not in df_predictions.columns
+            ]
+        return df[columns]
\ No newline at end of file
diff --git a/test/test_class1_binding_predictor_A0205.py b/test/test_class1_binding_predictor_A0205.py
index fc4864694f6b1f47806788a46ef625ef89180e08..fcdcd274d8890a4a7d093a0fbe1199d06b2862ce 100644
--- a/test/test_class1_binding_predictor_A0205.py
+++ b/test/test_class1_binding_predictor_A0205.py
@@ -49,7 +49,7 @@ def test_class1_neural_network_A0205_training_accuracy():
 def test_class1_neural_network_A0205_training_accuracy():
     predictor = Class1AffinityPredictor()
     predictor.fit_allele_specific_predictors(
-        n_models=1,
+        n_models=2,
         architecture_hyperparameters=hyperparameters,
         allele=allele,
         peptides=df.peptide.values,
@@ -64,3 +64,13 @@ def test_class1_neural_network_A0205_training_accuracy():
         rtol=0.2,
         atol=0.2)
 
+    ic50_pred_df = predictor.predict_to_dataframe(
+        df.peptide.values, allele=allele)
+    print(ic50_pred_df)
+
+    ic50_pred_df2 = predictor.predict_to_dataframe(
+        df.peptide.values,
+        allele=allele,
+        include_individual_model_predictions=True)
+    print(ic50_pred_df2)
+