diff --git a/src/main/java/tmltranslator/TMLCPTextSpecification.java b/src/main/java/tmltranslator/TMLCPTextSpecification.java
index f3a4a4493a58f53704e86bc56ba0a94038193669..9ee601411eb55246315ec21726664f8a84b69482 100755
--- a/src/main/java/tmltranslator/TMLCPTextSpecification.java
+++ b/src/main/java/tmltranslator/TMLCPTextSpecification.java
@@ -48,6 +48,7 @@ import myutil.FileUtils;
 import myutil.TraceManager;
 import tmltranslator.tmlcp.*;
 
+import java.io.File;
 import java.util.*;
 
 /**
@@ -137,6 +138,9 @@ public class TMLCPTextSpecification {
 //    }
 
     public void saveFile(String path, String filename) throws FileException {
+    	File dir = new File(path);
+    	if (!dir.exists())
+    		dir.mkdir();
         TraceManager.addUser("Saving TMLCP spec file in " + path + filename);
         FileUtils.saveFile(path + filename, spec);
     }
diff --git a/src/main/java/tmltranslator/TMLTextSpecification.java b/src/main/java/tmltranslator/TMLTextSpecification.java
index c4f2af038496fc6eed003fa8cc36964c9d8db3e0..3a423e2f0c0cdb92d4ed741e05b05a1875b62c45 100755
--- a/src/main/java/tmltranslator/TMLTextSpecification.java
+++ b/src/main/java/tmltranslator/TMLTextSpecification.java
@@ -48,6 +48,7 @@ import myutil.FileUtils;
 import myutil.TraceManager;
 
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Date;
@@ -105,6 +106,9 @@ public class TMLTextSpecification<E> {
     }
 
     public void saveFile(String path, String filename) throws FileException {
+    	File dir = new File(path);
+    	if (!dir.exists())
+    		dir.mkdir();
         TraceManager.addUser("Saving TML spec file in " + path + filename);
         FileUtils.saveFile(path + filename, spec);
     }
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 1a14a6c10d889cbd309ae8bd93d57433db48a229..4d5bcd8cd72d140c55d495e4c7e78f615684fbf3 100755
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -547,7 +547,7 @@ public class GTURTLEModeling {
             // from which the button is pressed. If there are multiple CP panels this operation must be repeated for each panel. It
             // should be no difficult to implement.
             try {
-                specCP.saveFile( ConfigurationTTool.TMLCodeDirectory + File.separator, "spec.tmlcp" );
+                specCP.saveFile( SpecConfigTTool.TMLCodeDirectory, "spec.tmlcp" );
             }
             catch( Exception e ) {
                 TraceManager.addError( "Writing TMLText for CPs, file could not be saved: " + e.getMessage() );
@@ -561,7 +561,7 @@ public class GTURTLEModeling {
                 TMLTextSpecification<TGComponent> spec = new TMLTextSpecification<>( _title );
                 spec.toTextFormat( tmlm );        //TMLModeling
                 try {
-                    spec.saveFile( ConfigurationTTool.TMLCodeDirectory + File.separator, "spec.tml" );
+                    spec.saveFile( SpecConfigTTool.TMLCodeDirectory, "spec.tml" );
                 }
                 catch( Exception e ) {
                     TraceManager.addError( "File could not be saved: " + e.getMessage() );
diff --git a/src/main/java/ui/window/JDialogDSE.java b/src/main/java/ui/window/JDialogDSE.java
index 321506d7c7e6680e2f36703031aadf705e05a4ec..6a5ebf181954c06cdc553abdb1e714c4b205257d 100644
--- a/src/main/java/ui/window/JDialogDSE.java
+++ b/src/main/java/ui/window/JDialogDSE.java
@@ -145,7 +145,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         mgui = _mgui;
         simulator=_simulator;
 		cpuTaskMap = cpuTasks;
-        tmlDir = dir+"/";
+        tmlDir = dir;
         resDirect = _simulator + "results/";
 		for (String cpu: cpuTasks.keySet()){
 			for (String task: cpuTasks.get(cpu)){