diff --git a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
index 82286b763bf2e173bbd907073539d00ca417ee07..6862364c58719d61949698a885125a1eccb87204 100644
--- a/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogSysCAMSExecutableCodeGeneration.java
@@ -54,6 +54,7 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.util.Vector;
 
 /**
  * Class JDialogSysCAMSExecutableCodeGeneration
@@ -500,38 +501,40 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
             if (jp1.getSelectedIndex() == 0) {
                 jta.append("Generating executable code (SystemC-AMS version)\n");
 
-                SysCAMSComponentTaskDiagramPanel syscamsDiagramPanel = mgui.getFirstSysCAMSPanelFound();
-                SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamsDiagramPanel);
-                SysCAMSSpecification syscalsspec = syscamspaneltranslator.getSysCAMSSpecification();
-
-                // Generating code
-                if (syscalsspec == null) {
-                    jta.append("Error: No SYSCAMS specification\n");
-                } else {
-                    System.err.println("**SYSCAMS TOPCELL found");
-
-                    TopCellGenerator topCellGenerator = new TopCellGenerator(syscalsspec);
-                    testGo();
-                    jta.append("Generation of TopCell executable code: done\n");
-
-                    try {
-                        jta.append("Saving  SysCAMS code in files\n");
-                        System.err.println("Saving SysCAMS code in files\n");
-                        pathCode = code2.getText();
-
-                        System.err.println("SYSCAMS TOPCELL saved in " + code2.getText());
-                        topCellGenerator.saveFile(pathCode);
-
-                        jta.append("Code saved\n");
-                    } catch (Exception e) {
-                        jta.append("Could not generate files\n");
-                        System.err.println("Could not generate SysCAMS files\n");
-                        e.printStackTrace();
-                    }
+                Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagramPanels = mgui.getListSysCAMSPanel();
+                for (SysCAMSComponentTaskDiagramPanel syscamsDiagramPanel : syscamsDiagramPanels) {
+                	SysCAMSPanelTranslator syscamspaneltranslator = new SysCAMSPanelTranslator(syscamsDiagramPanel);
+                	SysCAMSSpecification syscalsspec = syscamspaneltranslator.getSysCAMSSpecification();
+
+                	// Generating code
+                	if (syscalsspec == null) {
+                		jta.append("Error: No SYSCAMS specification\n");
+                	} else {
+                		System.err.println("**SYSCAMS TOPCELL found");
+
+                		TopCellGenerator topCellGenerator = new TopCellGenerator(syscalsspec);
+                		testGo();
+                		jta.append("Generation of TopCell executable code: done\n");
+
+                		try {
+                			jta.append("Saving  SysCAMS code in files\n");
+                			System.err.println("Saving SysCAMS code in files\n");
+                			pathCode = code2.getText();
+
+                			System.err.println("SYSCAMS TOPCELL saved in " + code2.getText());
+                			topCellGenerator.saveFile(pathCode);
+
+                			jta.append("Code saved\n");
+                		} catch (Exception e) {
+                			jta.append("Could not generate files\n");
+                			System.err.println("Could not generate SysCAMS files\n");
+                			e.printStackTrace();
+                		}
+                	}
+
+                	testGo();
                 }
-
-                testGo();
-
+            }
 //                if (removeCFiles.isSelected()) {
 //
 //                    jta.append("Removing all .h files\n");
@@ -652,7 +655,7 @@ public class JDialogSysCAMSExecutableCodeGeneration extends javax.swing.JFrame i
 //            if ((hasError == false) && (jp1.getSelectedIndex() < 2)) {
 //                jp1.setSelectedIndex(jp1.getSelectedIndex() + 1);
 //            }
-        }} catch (InterruptedException ie) {
+        } catch (InterruptedException ie) {
             jta.append("Interrupted\n");
         }