diff --git a/src/InSillyCloWeb/assemblies/models.py b/src/InSillyCloWeb/assemblies/models.py
index ab336f3247bd5a1039e22e61bb9724da83672a40..86de26538dc163613e27e3f1378a80a075c241ec 100644
--- a/src/InSillyCloWeb/assemblies/models.py
+++ b/src/InSillyCloWeb/assemblies/models.py
@@ -295,9 +295,7 @@ class SimulatorJob(models.Model):
     # Function and methods
     #########################################################################
     def save(self, *args, **kwargs):
-        if not os.path.isdir(self.job_dir):
-            os.mkdir(self.job_dir)
-            os.mkdir(self.results_dir)
+        self.job_dir.mkdir(parents=True, exist_ok=True)
 
         super().save(*args, **kwargs)
 
diff --git a/src/InSillyCloWeb/assemblies/views.py b/src/InSillyCloWeb/assemblies/views.py
index 7c6ed1998fa60fda94101638a03ee7795cb76962..6f7f608bc8f3f518c133daab8ee07e7aba39fcc9 100644
--- a/src/InSillyCloWeb/assemblies/views.py
+++ b/src/InSillyCloWeb/assemblies/views.py
@@ -135,7 +135,7 @@ class SimulatorJobEdit(
         return form
 
     def form_valid(self, form):
-        self.object.run_simulator()
+        self.object.run_insillyclo(self.request)
         return super().form_valid(form)
 
     def get_context_data(self, **kwargs):