diff --git a/scripts/create-combined-class1-dataset.py b/scripts/create-combined-class1-dataset.py
index c712cb24f6bce5e9c0bc002584d959f318486a54..486e8fe3ea90503cafe4c5c0fd9864ce53096196 100755
--- a/scripts/create-combined-class1-dataset.py
+++ b/scripts/create-combined-class1-dataset.py
@@ -68,7 +68,7 @@ if __name__ == "__main__":
     args = parser.parse_args()
 
     print("Reading %s..." % args.iedb_pickle_path)
-    with open(args.iedb_pickle_path, "r") as f:
+    with open(args.iedb_pickle_path, "rb") as f:
         iedb_datasets = pickle.load(f)
 
     print("Reading %s..." % args.netmhcpan_csv_path)
diff --git a/scripts/create-iedb-class1-dataset.py b/scripts/create-iedb-class1-dataset.py
index 22728b8ab2693da40320a51464bdefe993b3ba51..a06641b888a255318e0b6032e57fb54ec09996ce 100755
--- a/scripts/create-iedb-class1-dataset.py
+++ b/scripts/create-iedb-class1-dataset.py
@@ -84,5 +84,5 @@ if __name__ == "__main__":
                 "percent_positive",
                 "count"])
         print("# distinct pMHC entries: %d" % len(columns["mhc"]))
-    with open(OUTPUT_PATH, "w") as f:
+    with open(OUTPUT_PATH, "wb") as f:
         pickle.dump(assay_dataframes, f, pickle.HIGHEST_PROTOCOL)