Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 398)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 399)
@@ -5,4 +5,5 @@
 import de.uni_hildesheim.sse.model.cst.ConstraintSyntaxTree;
 import de.uni_hildesheim.sse.model.cst.OCLFeatureCall;
+import de.uni_hildesheim.sse.model.cst.Variable;
 import de.uni_hildesheim.sse.model.cst.VariablePool;
 import de.uni_hildesheim.sse.model.varModel.DecisionVariableDeclaration;
@@ -50,5 +51,5 @@
      * @return The variable as {@link ConstraintSyntaxTree}.
      */
-    private ConstraintSyntaxTree getVariable(AbstractReader reader, String var, String originalVariable) {
+    private ConstraintSyntaxTree getVariable(RSFReader reader, String var, String originalVariable) {
         ConstraintSyntaxTree result = null;
         
@@ -79,5 +80,14 @@
                 var = var.substring(0, var.length() - 1);
             }
-            result = varPool.obtainVariable(reader.getVariable(var));
+            
+            RSFItem rsfItem = reader.getItemNoCreate(var);
+            
+            if (rsfItem != null && rsfItem.getDatatype().equals(Datatype.TRISTATE)) {
+                Variable variable = varPool.obtainVariable(reader.getVariable(var));
+                Variable moduleVariable = varPool.obtainVariable(reader.getVariable(var + "_MODULE"));
+                result = new OCLFeatureCall(variable, OclKeyWords.OR, moduleVariable);
+            } else {
+                result = varPool.obtainVariable(reader.getVariable(var));
+            }
         }
         return result;
@@ -92,5 +102,5 @@
      *         otherwise
      */
-    private ConstraintSyntaxTree handleConstantInVariable(AbstractReader reader, String var, String originalVariable) {
+    private ConstraintSyntaxTree handleConstantInVariable(RSFReader reader, String var, String originalVariable) {
         ConstraintSyntaxTree result = null;
         if (var.endsWith("!='y'")) {
@@ -122,5 +132,5 @@
      *         otherwise
      */
-    private ConstraintSyntaxTree handleModuleInVariable(AbstractReader reader, String var, String originalVariable) {
+    private ConstraintSyntaxTree handleModuleInVariable(RSFReader reader, String var, String originalVariable) {
         ConstraintSyntaxTree result = null;
         if (var.endsWith("!='m'")) {
@@ -146,5 +156,5 @@
      *         otherwise
      */
-    private ConstraintSyntaxTree handleStringInVariable(AbstractReader reader, String var, String originalVariable) {
+    private ConstraintSyntaxTree handleStringInVariable(RSFReader reader, String var, String originalVariable) {
         ConstraintSyntaxTree result = null;
         if (var.contains("!=''")) {
@@ -192,5 +202,5 @@
      * @throws ParserException If the conditions contains an operation, that is not supported by the parser.
      */
-    protected ConstraintSyntaxTree getPureBooleanConstraintSyntaxTree(AbstractReader reader, String condition,
+    protected ConstraintSyntaxTree getPureBooleanConstraintSyntaxTree(RSFReader reader, String condition,
             String variable) throws ParserException {
         
Index: /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java
===================================================================
--- /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 398)
+++ /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 399)
@@ -84,4 +84,5 @@
         String result = DimacsTestUtils.loadModel(input, noOptimization, true);
         int fwLoader = DimacsTestUtils.getNumberOfVariable(result, "FW_LOADER");
+        int fwLoaderModule = DimacsTestUtils.getNumberOfVariable(result, "FW_LOADER_MODULE");
         int extraFirmwareEmpty = DimacsTestUtils.getNumberOfVariable(result, "EXTRA_FIRMWARE=n");
         int extraFirmwareDirEmpty = DimacsTestUtils.getNumberOfVariable(result, "EXTRA_FIRMWARE_DIR=n");
@@ -97,5 +98,5 @@
          */
         Assert.assertTrue("Error: Expected Constraint not included.",
-            DimacsTestUtils.containsConstraint(result, fwLoader, extraFirmwareEmpty));
+            DimacsTestUtils.containsConstraint(result, fwLoader, fwLoaderModule, extraFirmwareEmpty));
         Assert.assertTrue("Error: Expected Constraint not included.",
             DimacsTestUtils.containsConstraint(result, -1 * extraFirmwareEmpty, extraFirmwareDirEmpty));
