diff --git a/mhcflurry/class1_affinity_predictor.py b/mhcflurry/class1_affinity_predictor.py
index d464a3728219589de70400e1b22c9b2bb0767c40..4eacb9a140a44ef65904f07b818494e0f25bf272 100644
--- a/mhcflurry/class1_affinity_predictor.py
+++ b/mhcflurry/class1_affinity_predictor.py
@@ -562,7 +562,10 @@ class Class1AffinityPredictor(object):
         """
         random_string = hashlib.sha1(
             str(time.time()).encode()).hexdigest()[:16]
-        return "%s-%d-%s" % (allele.upper(), num, random_string)
+        return "%s-%d-%s" % (
+            allele.upper().replace("*", "_").replace(":", "_"),
+            num,
+            random_string)
 
     @staticmethod
     def weights_path(models_dir, model_name):