diff --git a/src/main/java/avatartranslator/AvatarGuardElse.java b/src/main/java/avatartranslator/AvatarGuardElse.java
index 3afe3e0fe5ce808bfbf80d17dc65d86f0f2e8d99..63ea73ad602182147a182a5a65647a87e7d21beb 100644
--- a/src/main/java/avatartranslator/AvatarGuardElse.java
+++ b/src/main/java/avatartranslator/AvatarGuardElse.java
@@ -51,31 +51,32 @@ public class AvatarGuardElse extends AvatarGuard {
     public AvatarGuardElse () {
     }
 
-    public AvatarGuard getRealGuard (AvatarStateMachineElement precedent) {
+    public AvatarGuard getRealGuard(AvatarStateMachineElement precedent) {
         AvatarGuard result = null;
 
-        for (AvatarStateMachineElement asme: precedent.getNexts ()) {
+        for (AvatarStateMachineElement asme: precedent.getNexts()) {
             if (! (asme instanceof AvatarTransition))
                 continue;
 
-            AvatarGuard guard = ((AvatarTransition) asme).getGuard ();
+            AvatarGuard guard = ((AvatarTransition) asme).getGuard();
             if (guard == this)
                 continue;
 
-            if (guard == null || !guard.isGuarded ())
+            if (guard == null || !guard.isGuarded())
                 // another guard is empty: else will never trigger
                 // FIXME: add warning
-                return new AvatarConstantGuard (AvatarConstant.FALSE);
+                return new AvatarConstantGuard(AvatarConstant.FALSE);
 
-            if (guard.isElseGuard ())
+            if (guard.isElseGuard())
                 // there were two else guards... Shouldn't happen
                 // FIXME: add warning
-                continue;
+                // continue;
+                return null;
 
             if (result == null)
-                result = ((AvatarComposedGuard) guard).getOpposite ();
+                result = ((AvatarComposedGuard) guard).getOpposite();
             else
-                result = AvatarGuard.addGuard (result, ((AvatarComposedGuard) guard).getOpposite (), "and");
+                result = AvatarGuard.addGuard(result, ((AvatarComposedGuard) guard).getOpposite(), "and");
         }
 
         return result;
diff --git a/src/main/java/avatartranslator/AvatarSpecification.java b/src/main/java/avatartranslator/AvatarSpecification.java
index 74272690f6efbc4f3048a36b92035d0986bfcd67..22a070ba0833bd3428de2fedc664a0804bd0164a 100644
--- a/src/main/java/avatartranslator/AvatarSpecification.java
+++ b/src/main/java/avatartranslator/AvatarSpecification.java
@@ -1573,8 +1573,8 @@ public class AvatarSpecification extends AvatarElement implements IBSParamSpec {
             return;
 
         for (AvatarStateMachineElement asme : asm.getListOfElements()) {
-            if (!(asme instanceof AvatarState))
-                continue;
+            // if (!(asme instanceof AvatarState))
+            //    continue;
 
             //TraceManager.addDev("Working with state " + asme.getNiceName());
             for (AvatarStateMachineElement next : asme.getNexts()) {
diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java
index c72f78a7183ea47a236172d49a896ccf1d9117a4..518777832d63fbf7b3833ee45866feabdbe993d0 100644
--- a/src/main/java/avatartranslator/AvatarStateMachine.java
+++ b/src/main/java/avatartranslator/AvatarStateMachine.java
@@ -2202,9 +2202,11 @@ public class AvatarStateMachine extends AvatarElement {
                 AvatarTransition at = (AvatarTransition) asme;
 
                 // Guard
-                val = at.getGuard().toString();
-                if (MyMath.hasIntegerValueOverMax(val, maxV)) {
-                    invalids.add(this);
+                if (at.getGuard() != null) {
+                    val = at.getGuard().toString();
+                    if (MyMath.hasIntegerValueOverMax(val, maxV)) {
+                        invalids.add(this);
+                    }
                 }
 
                 // Delays
diff --git a/src/main/java/ui/AvatarDesignPanelTranslator.java b/src/main/java/ui/AvatarDesignPanelTranslator.java
index dd3ca1f65fb8bbb5ae21cb8c9a86f1035d92cd8b..34ef2e917495a881d12c5f508a81ce92fdb72fe1 100644
--- a/src/main/java/ui/AvatarDesignPanelTranslator.java
+++ b/src/main/java/ui/AvatarDesignPanelTranslator.java
@@ -132,6 +132,24 @@ public class AvatarDesignPanelTranslator {
             addWarning(ce);
         }
 
+        for (AvatarBlock block : as.getListOfBlocks()) {
+            for (AvatarStateMachineElement asme : block.getStateMachine().getListOfElements()) {
+                if (asme instanceof AvatarTransition) {
+                    AvatarTransition at = (AvatarTransition) asme;
+                    if (at.getGuard() == null) {
+                        UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Error while using Else in Guard");
+                        ce.setTDiagramPanel(adp.getAvatarBDPanel());
+                        Object o = at.getReferenceObject();
+                        if (o instanceof TGComponent) {
+                            ce.setTGComponent((TGComponent) o);
+                            ce.setTDiagramPanel(((TGComponent) o).getTDiagramPanel());
+                        }
+                        addCheckingError(ce);
+                    }
+                }
+            }
+        }
+
         if (checkingErrors.size() == 0) {
             ArrayList<AvatarError> list = AvatarSyntaxChecker.checkSyntaxErrors(as);
             for (AvatarError ar : list) {