diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java
index 925e729efb055ea16e644145aca43fa8d3efabca..0a8a770e0cf041f2e250c4d9ce12e628ee92e14f 100644
--- a/src/main/java/common/SpecConfigTTool.java
+++ b/src/main/java/common/SpecConfigTTool.java
@@ -5,12 +5,14 @@ public class SpecConfigTTool {
 	public static String SystemCCodeCompileCommand="";
 	public static String SystemCCodeExecuteCommand="";
 	public static String SystemCCodeInteractiveExecuteCommand="";
+	public static String CCodeDirectory="";
 	
 	public static void loadConfiguration() {
 		SystemCCodeDirectory = ConfigurationTTool.SystemCCodeDirectory;
 		SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand;
 		SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand;
 		SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand;
+		CCodeDirectory = ConfigurationTTool.CCodeDirectory;
 	}
 
 }
diff --git a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
index e32b585d044443ea6161229f30a670b13d812acb..9595d5646e61447c9250a54a6e381300dd8b96cc 100755
--- a/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
+++ b/src/main/java/tmltranslator/modelcompiler/TMLModelCompiler.java
@@ -122,6 +122,7 @@ public class TMLModelCompiler   {
         tmlm = _tmap.getTMLModeling();
         tmla = _tmap.getTMLArchitecture();
         mappedCPLibs = _tmap.getMappedTMLCPLibs();
+       
         init();
     }
 
@@ -141,6 +142,9 @@ public class TMLModelCompiler   {
         prexList = new ArrayList<TMLPort>();
         buffersList = new ArrayList<Buffer>();
         dataTransfersList = new ArrayList<DataTransfer>();
+        File f = new File(ConfigurationTTool.CCodeDirectory);
+        if (!f.exists())
+        	f.mkdir();
         debugFileName = ConfigurationTTool.CCodeDirectory + "debugFile.txt";
         tmlcpsList = new ArrayList<TMLCP>();
     }
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 7bb68e4d458daf84f7607f1bfc6808a404b011f4..28f5319e48ad0fa64aecb085217c6375d2273e86 100755
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -44,6 +44,7 @@ import avatartranslator.totpn.AVATAR2TPN;
 import avatartranslator.toturtle.AVATAR2TURTLE;
 import avatartranslator.touppaal.AVATAR2UPPAAL;
 import common.ConfigurationTTool;
+import common.SpecConfigTTool;
 import ddtranslator.DDSyntaxException;
 import ddtranslator.DDTranslator;
 import launcher.LauncherException;
@@ -474,14 +475,17 @@ public class GTURTLEModeling {
         CCode = new TMLModelCompiler( _title, applicationName, mgui.frame, mgui.getAllTMLCP(), tmap );
         CCode.toTextFormat();
         try {
-            if( ConfigurationTTool.CCodeDirectory.equals("") )  {
+            if( SpecConfigTTool.CCodeDirectory.equals("") )  {
                 JOptionPane.showMessageDialog(  mgui.frame,
                                                 "No directory for C code generation found in config.xml. The C code cannot be generated.",
                                                 "Control code generation failed", JOptionPane.INFORMATION_MESSAGE );
                 return true;
             }
-            else                {
-                CCode.saveFile( ConfigurationTTool.CCodeDirectory + File.separator, applicationName );
+            else {
+            	File test = new File(SpecConfigTTool.CCodeDirectory);
+            	if (!test.exists())
+            		test.mkdir();
+                CCode.saveFile( SpecConfigTTool.CCodeDirectory + File.separator, applicationName );
             }
         }
         catch( Exception e ) {
@@ -492,8 +496,7 @@ public class GTURTLEModeling {
     }
 
     public boolean generateTMLTxt( String _title ) {
-
-
+    	
         //This branch is activated if doing the syntax check from the architecture panel.
         //It generates the text TML for the architecture and the application + mapping information
         if (tmap != null) {
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index d6d3a7fbb28d51a0ae34080e3c5c31cde2b4d199..09bb4e54d3ca53bac7ea5b26a669ad3adb7ba41a 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -2330,10 +2330,12 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
     }
 
     public void setDirConfig() {
-    	SpecConfigTTool.SystemCCodeDirectory = dir.getAbsolutePath() + "/c++code/";
+    	SpecConfigTTool.SystemCCodeDirectory = dir.getAbsolutePath() + "/c++_code/";
+    	SpecConfigTTool.CCodeDirectory = dir.getAbsolutePath() + "/c_code/";
     	SpecConfigTTool.SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory);
     	SpecConfigTTool.SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory);
     	SpecConfigTTool.SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeDirectory);
+    	
     }
     
     public void setBasicConfig() {
@@ -4544,8 +4546,8 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
         //            path = file.getAbsolutePath();
         //        }
         JDialogCCodeGeneration jgen = new JDialogCCodeGeneration( frame, this, "Application code generation and compilation",
-                                                                  ConfigurationTTool.CCodeDirectory,
-                                                                  "make -C " + ConfigurationTTool.CCodeDirectory,
+                                                                  SpecConfigTTool.CCodeDirectory,
+                                                                  "make -C " + SpecConfigTTool.CCodeDirectory,
                                                                   gtm );
         //   jgen.setSize(500, 750);
         GraphicLib.centerOnParent(jgen, 500, 750);
diff --git a/src/main/java/ui/window/JDialogCCodeGeneration.java b/src/main/java/ui/window/JDialogCCodeGeneration.java
index 6bd1a75aff6bc4b244a9bfe35af114b4f00c1911..88861b5cc865a17bac6cd00f29ec5cdf9c0b7796 100755
--- a/src/main/java/ui/window/JDialogCCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogCCodeGeneration.java
@@ -138,12 +138,9 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
         mgui = _mgui;
         gtm = _gtm;
 
-        if (pathCode == null) {
-            pathCode = _pathCode;
-        }
-
-        if (pathCompiler == null)
-            pathCompiler = _pathCompiler;
+        pathCode = _pathCode;
+        
+        pathCompiler = _pathCompiler;
 
         initComponents();
         myInitComponents();