diff --git a/wetb/hawc2/simulation.py b/wetb/hawc2/simulation.py
index 371cd514a0f077e1cbe46b95eca8bce59bcbf9a2..37ad3c39103643275bf5ea99b96e1f902eb56f5f 100755
--- a/wetb/hawc2/simulation.py
+++ b/wetb/hawc2/simulation.py
@@ -280,6 +280,8 @@ class SimulationThread(Thread):
             p.set_nice(psutil.BELOW_NORMAL_PRIORITY_CLASS)
         self.process.communicate()
         errorcode = self.process.returncode
+        if not os.path.isdir(os.path.dirname(self.modelpath + self.sim.stdout_filename)):
+            os.makedirs(os.path.dirname(self.modelpath + self.sim.stdout_filename))
         with open(self.modelpath + self.sim.stdout_filename, encoding='utf-8') as fid:
             stdout = fid.read()
         self.res = errorcode, stdout