diff --git a/mhcflurry/cluster_parallelism.py b/mhcflurry/cluster_parallelism.py
index ae49f5ee1c6e7c362c95bfd22a0403197dfe07c4..d3f1c1c5cb5f66c56bf04e18aa83c7407189d4b2 100644
--- a/mhcflurry/cluster_parallelism.py
+++ b/mhcflurry/cluster_parallelism.py
@@ -170,6 +170,9 @@ def cluster_results(
         'constant_data': constant_data,
         'function': work_function,
     }
+    if not os.path.exists(results_workdir):
+        os.mkdir(results_workdir)
+
     work_dir = os.path.join(
         os.path.abspath(results_workdir),
         str(int(time.time())))