diff --git a/build.txt b/build.txt
index 322edad015557d0e7958f812600e07aab4f9a904..4b9fe1ccffa38c543d397209d630b139e97425b4 100644
--- a/build.txt
+++ b/build.txt
@@ -1 +1 @@
-13171
\ No newline at end of file
+13175
\ No newline at end of file
diff --git a/src/main/java/tmltranslator/TMLChannel.java b/src/main/java/tmltranslator/TMLChannel.java
index fa1fb536b9a46e85e69e858392041d6ced4303b4..29a249056f0e94222054ca1ae08ae98205dfcddd 100755
--- a/src/main/java/tmltranslator/TMLChannel.java
+++ b/src/main/java/tmltranslator/TMLChannel.java
@@ -57,14 +57,14 @@ public class TMLChannel extends TMLCommunicationElement {
     public static final int BRBW = 0;
     public static final int BRNBW = 1;
     public static final int NBRNBW = 2;
-    public int confStatus;
+
     public boolean checkConf;
     public boolean checkAuth;
     private int size; // width of the channel i.e. nb of bytes of each sample
     private int type;
     private int max; // Maximum number of samples
     public TMLCPrimitivePort port;
-    public TMLCPrimitivePort port2;
+    //public TMLCPrimitivePort port2;
     public ArrayList<TMLCPrimitivePort> ports;
 
     // Used on for 1 -> 1 channel
diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java
index 46fb125a7604012ad48751ca84ae523d77aa5fcf..d7f676ac1eef29adb393941caf353442f6de3b47 100755
--- a/src/main/java/tmltranslator/TMLModeling.java
+++ b/src/main/java/tmltranslator/TMLModeling.java
@@ -74,7 +74,7 @@ public class TMLModeling<E> {
     private List<TMLEvent> events;
     private List<String[]> pragmas;
     
-    private TMLElement correspondance[];
+    private TMLElement correspondance[]; // Link to graphical components
 
     // Security
     public List<String> securityPatterns;
diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
index 675fdd0426628bcc59d8aaa99815283766505cdd..9d4119d8f7b4bcba5916503eb57ee01477a14402 100755
--- a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
+++ b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
@@ -130,7 +130,7 @@ public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent
     protected int lossPercentage;
     protected int maxNbOfLoss; //-1 means no max
 
-    //Security Verification
+    // Security Verification
     public int checkConfStatus;
 
     public int checkSecConfStatus;
diff --git a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
index 1b3f61ea8a14d4f3842fa8396c3b735d2c0ba572..df9aa63dd80c22cfab7316dd35256262fa4da3df 100755
--- a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
+++ b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
@@ -241,10 +241,18 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
                     return true;
                 }
             }
-        }else {
-            for (TMLCPrimitivePort dp : destinationPPorts) {
-                if (dp.getPortName().equalsIgnoreCase(newName)) {
-                    return true;
+        } else {
+            if (tmlcpp.getPortType() != 2) {
+                for (TMLCPrimitivePort dp : destinationPPorts) {
+                    if (dp.getPortName().equalsIgnoreCase(newName)) {
+                        return true;
+                    }
+                }
+            } else {
+                for (TMLCPrimitivePort dp : destinationPPorts) {
+                    if ((dp.getPortName().equalsIgnoreCase(newName)) && (dp.getFather() != tmlcpp.getFather()))  {
+                        return true;
+                    }
                 }
             }
         }
diff --git a/src/main/java/ui/util/DefaultText.java b/src/main/java/ui/util/DefaultText.java
index 8fe8dedca5b76822c9758c3d8be1725aaad56ee6..594514549d8213dc975fd979c7da4022df863016 100755
--- a/src/main/java/ui/util/DefaultText.java
+++ b/src/main/java/ui/util/DefaultText.java
@@ -50,8 +50,8 @@ package ui.util;
  */
 public class DefaultText {
 
-    public static String BUILD = "13170";
-    public static String DATE = "2019/09/20 03:03:55 CET";
+    public static String BUILD = "13174";
+    public static String DATE = "2019/09/24 03:04:04 CET";
 
     public static StringBuffer sbAbout = makeAbout();
 
diff --git a/src/main/java/ui/window/JDialogUPPAALValidation.java b/src/main/java/ui/window/JDialogUPPAALValidation.java
index 3afe0dcd4452279e5e25ae18727e07651b88348f..d4a9162e662ab3f02d8953ea351081f5d144888c 100644
--- a/src/main/java/ui/window/JDialogUPPAALValidation.java
+++ b/src/main/java/ui/window/JDialogUPPAALValidation.java
@@ -127,6 +127,7 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
     protected JButton stop;
     protected JButton close;
     protected JButton eraseAll;
+    protected JButton checkUncheckAllPragmas;
 
     protected JCheckBox deadlockE, deadlockA, generateTrace, custom, showDetails;
     protected JRadioButton stateR_None, stateR_Selected, stateR_All;
@@ -388,31 +389,59 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
         cadvanced.weightx = 1.0;
         jpadvanced.setLayout(gridbagadvanced);
         jpadvanced.setBorder(new javax.swing.border.TitledBorder("Advanced properties"));
-        cbasic.fill = GridBagConstraints.BOTH;
+        cadvanced.fill = GridBagConstraints.BOTH;
 
-        cadvanced.gridwidth = GridBagConstraints.REMAINDER;
+        cadvanced.gridwidth = 1; //GridBagConstraints.REMAINDER;
         custom = new JCheckBox("Safety pragmas");
         custom.addActionListener(this);
         if ((customQueries != null) && (customQueries.size() > 0)) {
             jpadvanced.add(custom, cadvanced);
             custom.setSelected(customChecked);
         }
+
+        cadvanced.gridwidth = GridBagConstraints.REMAINDER;
+        checkUncheckAllPragmas = new JButton("Check / uncheck all");
+        checkUncheckAllPragmas.addActionListener(this);
+
+        if ((customQueries != null) && (customQueries.size() > 0)) {
+            cadvanced.fill = GridBagConstraints.VERTICAL;
+            jpadvanced.add(checkUncheckAllPragmas, cadvanced);
+        }
+
+
+
+
         //jp1.add(custom, c1);
         //custom.setSelected(customChecked);
         if (customQueries != null) {
+            JPanel jpadvancedQ = new JPanel();
+            GridBagConstraints cadvancedQ = new GridBagConstraints();
+            GridBagLayout gridbagadvancedQ = new GridBagLayout();
+            cadvancedQ.anchor = GridBagConstraints.WEST;
+            cadvancedQ.gridheight = 1;
+            cadvancedQ.weighty = 1.0;
+            cadvancedQ.weightx = 1.0;
+            jpadvancedQ.setLayout(gridbagadvancedQ);
+            cadvancedQ.fill = GridBagConstraints.BOTH;
+
+
             for (String s : customQueries) {
-                cadvanced.gridwidth = GridBagConstraints.RELATIVE;
+                cadvancedQ.gridwidth = GridBagConstraints.RELATIVE;
                 JLabel space = new JLabel("   ");
-                cadvanced.weightx = 0.0;
-                jpadvanced.add(space, cadvanced);
-                cadvanced.gridwidth = GridBagConstraints.REMAINDER; //end row
+                cadvancedQ.weightx = 0.0;
+                jpadvancedQ.add(space, cadvancedQ);
+                cadvancedQ.gridwidth = GridBagConstraints.REMAINDER; //end row
                 JCheckBox cqb = new JCheckBox(s);
                 cqb.addActionListener(this);
-                cadvanced.weightx = 1.0;
-                jpadvanced.add(cqb, cadvanced);
+                cadvancedQ.weightx = 1.0;
+                jpadvancedQ.add(cqb, cadvancedQ);
                 customChecks.add(cqb);
 
             }
+            JScrollPane jsp = new JScrollPane(jpadvancedQ, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+            jsp.setPreferredSize(new Dimension(500, 150));
+            cadvanced.gridheight = 10;
+            jpadvanced.add(jsp, cadvanced);
         }
         jp1.add(jpadvanced, c1);
         /*  jp1.add(new JLabel("Custom formula to translate = "), c1);
@@ -468,6 +497,8 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
         jp2.add(close);
         jp2.add(eraseAll);
         c.add(jp2, BorderLayout.SOUTH);
+
+
     }
 
     @Override
@@ -477,6 +508,8 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
         // Compare the action command to the known actions.
         if (evt.getSource() == eraseAll) {
             eraseTextArea();
+        } else if (evt.getSource() == checkUncheckAllPragmas) {
+            checkUncheckAllPragmas();
         } else if (command.equals("Start")) {
             startProcess();
         } else if (command.equals("Stop")) {
@@ -493,6 +526,20 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
         jta.setText("");
     }
 
+    private void checkUncheckAllPragmas() {
+        if (customChecks != null) {
+            int nb = 0;
+            for(JCheckBox cb: customChecks) {
+                nb = cb.isSelected() ? nb + 1 : nb ;
+            }
+            boolean check = nb < customChecks.size()/2;
+            for(JCheckBox cb: customChecks) {
+                cb.setSelected(check);
+            }
+        }
+    }
+
+
     public void closeDialog() {
         if (mode == STARTED) {
             stopProcess();
diff --git a/ttool/src/test/java/ui/tmlcompd/TMLCPrimitivePortTest.java b/ttool/src/test/java/ui/tmlcompd/TMLCPrimitivePortTest.java
index 1c85beb60f0d05b0dfc75a2b774821ddfcb20eb9..47dd3e2acfd11f3bd0f566fe0b59d3835b7e601d 100644
--- a/ttool/src/test/java/ui/tmlcompd/TMLCPrimitivePortTest.java
+++ b/ttool/src/test/java/ui/tmlcompd/TMLCPrimitivePortTest.java
@@ -133,8 +133,8 @@ public class TMLCPrimitivePortTest extends AbstractUITest {
 
     @Test
     public void tesRequestPortName() throws Exception {
-        assertTrue("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortIn,EVENT_IN));
-        assertTrue("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortOut,EVENT_OUT));
+        //assertTrue("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortIn,EVENT_IN));
+        //assertTrue("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortOut,EVENT_OUT));
         assertFalse("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortOut,REQUEST_IN));
         assertFalse("Test : Port name in use",((TMLComponentTaskDiagramPanel) diagramPanel).namePrimitivePortInUse(requestPortIn,REQUEST_OUT));
     }