diff --git a/src/main/java/ui/window/JDialogCCodeGeneration.java b/src/main/java/ui/window/JDialogCCodeGeneration.java
index e2731444d1445fc0b74735ffde21088f240ed9fe..f52c3290839cc2ccb90eaaf2451034d8d0398c0f 100644
--- a/src/main/java/ui/window/JDialogCCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogCCodeGeneration.java
@@ -468,6 +468,12 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
         boolean error = false;
 
         jta.append("Generating C code...\n\n");
+
+        // First create the corresponding directory
+        String dirD = code1.getText();
+        File newDir = new File(dirD);
+        newDir.mkdir();
+
         if (removeCppFiles.isSelected()) {
             jta.append("Removing all .h files...\n");
             list = FileUtils.deleteFiles(code1.getText(), ".h");
diff --git a/ttool/src/test/java/ui/GraphLatencyAnalysis/GraphLatencyAnalysis.java b/ttool/src/test/java/ui/GraphLatencyAnalysis/GraphLatencyAnalysis.java
index 7510a56075935db57e2902c162654b265cd02e85..55fdc145c9e66d7625f10dab3fc6daee4275f577 100644
--- a/ttool/src/test/java/ui/GraphLatencyAnalysis/GraphLatencyAnalysis.java
+++ b/ttool/src/test/java/ui/GraphLatencyAnalysis/GraphLatencyAnalysis.java
@@ -50,15 +50,11 @@ public class GraphLatencyAnalysis extends AbstractUITest {
         mainGUI.latencyDetailedAnalysis();
 
         latencyDetailedAnalysis = mainGUI.getLatencyDetailedAnalysis();
-        if (latencyDetailedAnalysis == null) {
-            return;
-        }
-
-        mainGUI.getLatencyDetailedAnalysis().setVisible(false);
-
-
-        while (latencyDetailedAnalysis.graphStatus() != Thread.State.TERMINATED) {
-            dgt = latencyDetailedAnalysis.getDgraph();
+        if (latencyDetailedAnalysis != null) {
+            latencyDetailedAnalysis.setVisible(false);
+            while (latencyDetailedAnalysis.graphStatus() != Thread.State.TERMINATED) {
+                dgt = latencyDetailedAnalysis.getDgraph();
+            }
         }
 
     }