diff --git a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java
index 19d82ffdc8ca3c1b6575827980aeda0334d978ce..942e85a283f8563db987818b8b07050e61cf21f8 100644
--- a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java
+++ b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java
@@ -34,6 +34,7 @@ import org.eclipse.uml2.uml.EnumerationLiteral;
 import org.eclipse.uml2.uml.LiteralString;
 import org.eclipse.uml2.uml.Port;
 import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StateMachine;
 import org.eclipse.uml2.uml.Stereotype;
 import org.eclipse.uml2.uml.Type;
 //import org.polarsys.chess.contracts.profile.chesscontract.util.ContractEntityUtil;
@@ -64,6 +65,8 @@ public class EntityUtil {
 	private static final String MARTE_REAL_TYPE = "MARTE_Library::MARTE_PrimitivesTypes::Real";
 	private static final String MARTE_INTEGER_TYPE = "MARTE_Library::MARTE_PrimitivesTypes::Integer";
 	
+	private static final String FAULTY_STATE_MACHINE = "CHESS::Dependability::ThreatsPropagation";
+	
 	//not yet used
 	//private static final String STRING_TYPE = "PrimitiveTypes::String";
 	//private static final String UNLIMITED_NAT_TYPE = "PrimitiveTypes::UnlimitedNatural";
@@ -390,6 +393,14 @@ public class EntityUtil {
 		return UMLUtil.getAppliedStereotype(umlElement, SYSTEM, false) != null;
 	}
 
+	public boolean isFaultyStateMachine(Element umlElement) {
+		return UMLUtil.getAppliedStereotype(umlElement, FAULTY_STATE_MACHINE, false) != null;
+	}
+	
+	public boolean isNominalStateMachine(Element umlElement) {
+		return (umlElement instanceof StateMachine)&(UMLUtil.getAppliedStereotype(umlElement, FAULTY_STATE_MACHINE, false) == null);
+	}
+	
 	public void saveConstraint(final Constraint constraint, final String text) {
 
 		TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(constraint);