diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/META-INF/MANIFEST.MF b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/META-INF/MANIFEST.MF
index c594bc9..39390be 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/META-INF/MANIFEST.MF
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.papyrus.requirements.sysml14.traceability.commands;singleton:=true
-Bundle-Version: 0.7.0.qualifier
+Bundle-Version: 0.8.0.qualifier
 Bundle-Activator: org.eclipse.papyrus.requirements.sysml14.traceability.commands.Activator
 Bundle-Vendor: %Bundle-Vendor
 Require-Bundle: org.eclipse.papyrus.uml.tools;bundle-version="0.9.1";resolution:=optional,
diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/pom.xml b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/pom.xml
index c685bb4..ad9e2fe 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/pom.xml
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/pom.xml
@@ -30,5 +30,5 @@
 	<!-- POM Description -->
 	<artifactId>org.eclipse.papyrus.requirements.sysml14.traceability.commands</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>0.7.0-SNAPSHOT</version>
+	<version>0.8.0-SNAPSHOT</version>
 </project>
\ No newline at end of file
diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivedLinkReqCommand.java b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivedLinkReqCommand.java
index f5dea62..20ac09b 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivedLinkReqCommand.java
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivedLinkReqCommand.java
@@ -62,11 +62,11 @@
 
 				for (int i = 0; i < result.length; i++) {
 					Element currentElement = (Element) result[i];
-					if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
+					//if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
 						DerivationReqCreateCommand derivationReqCreateCommand = new DerivationReqCreateCommand(domain,
 								(NamedElement) selectedElement, (NamedElement) currentElement);
 						derivationReqCreateCommand.execute();
-					}
+					//}
 				}
 			}
 		}
diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivesLinkReqCommand.java b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivesLinkReqCommand.java
index f5644a2..b46146f 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivesLinkReqCommand.java
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddDerivesLinkReqCommand.java
@@ -61,11 +61,11 @@
 
 				for (int i = 0; i < result.length; i++) {
 					Element currentElement = (Element) result[i];
-					if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
+					//if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
 						DerivationReqCreateCommand derivationReqCreateCommand = new DerivationReqCreateCommand(domain,
 								(NamedElement) currentElement, (NamedElement) selectedElement);
 						derivationReqCreateCommand.execute();
-					}
+					//}
 				}
 			}
 		}
diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinedByCommand.java b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinedByCommand.java
index b58ed9e..a282a29 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinedByCommand.java
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinedByCommand.java
@@ -65,11 +65,11 @@
 				for (int i = 0; i < result.length; i++) {
 					Element currentElement = (Element) result[i];
 					// chosen elements cannot be requirements
-					if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) == null) {
+					//if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) == null) {
 						RefinementCreateCommand refinementCreateCommand = new RefinementCreateCommand(domain,
 								(NamedElement) currentElement, (NamedElement) selectedElement);
 						refinementCreateCommand.execute();
-					}
+					//}
 				}
 
 			}
diff --git a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinesCommand.java b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinesCommand.java
index 95775a3..031e28c 100644
--- a/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinesCommand.java
+++ b/plugins/sysml14/controler/org.eclipse.papyrus.requirements.sysml14.traceability.commands/src/org/eclipse/papyrus/requirements/sysml14/traceability/commands/AddRefinesCommand.java
@@ -65,11 +65,11 @@
 				for (int i = 0; i < result.length; i++) {
 					Element currentElement = (Element) result[i];
 					// chosen elements must be requirements
-					if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
+				//	if (currentElement.getAppliedStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE) != null) {
 						RefinementCreateCommand refinementCreateCommand = new RefinementCreateCommand(domain,
 								(NamedElement) selectedElement, (NamedElement) currentElement);
 						refinementCreateCommand.execute();
-					}
+				//	}
 				}
 			}
 		}
