Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFChoice.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFChoice.java	(revision 395)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFChoice.java	(revision 396)
@@ -51,5 +51,6 @@
         ConstraintSyntaxTree notChoiceVar = getUnselectedVariable(choiceItem, reader);
         
-        // Create one tree with all variables OR'd together
+        // Create one tree with all variables OR'd together (to make sure that at least one is selected if choiceVar
+        //   is true)
         ConstraintSyntaxTree allItemsTree = notChoiceVar;
         
@@ -61,12 +62,14 @@
             
             for (int j = i + 1; j < choiceItems.size(); j++) {
-                // Add the 2 variables negated and OR'd together:
+                // Add the 2 variables negated and OR'd together: (to make sure that only one or less vars are selected)
                 ConstraintSyntaxTree notVar2 = getUnselectedVariable(choiceItems.get(j), reader);
                 
-                OCLFeatureCall call = new OCLFeatureCall(notVar1, OclKeyWords.OR, notVar2);
-                trees.add(new OCLFeatureCall(notChoiceVar, OclKeyWords.OR, call));
+                trees.add(new OCLFeatureCall(notVar1, OclKeyWords.OR, notVar2));
             }
             
             allItemsTree = new OCLFeatureCall(allItemsTree, OclKeyWords.OR, var1);
+            
+            // Add choiceVar or not var1 (to make sure that no variables are selected if choiceVar is false)
+            trees.add(new OCLFeatureCall(new OCLFeatureCall(notChoiceVar, OclKeyWords.NOT), OclKeyWords.OR, notVar1));
         }
         
Index: /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java
===================================================================
--- /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 395)
+++ /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 396)
@@ -198,13 +198,22 @@
          * (skip other combinations)
          * NOT(CHOICE_12) OR HZ_100 OR HZ_250 OR HZ_300 OR HZ_1000
-         */
-        Assert.assertTrue("Error: Missing choice constraint",
-            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz250));
-        Assert.assertTrue("Error: Missing choice constraint",
-            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz300));
-        Assert.assertTrue("Error: Missing choice constraint",
-            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz1000));
-        Assert.assertTrue("Error: Missing choice constraint",
-            DimacsTestUtils.containsConstraint(result, -1 * choice12, hz100, hz250, hz300, hz1000));
+         * CHOICE_12 OR NOT(HZ_100)
+         * CHOICE_12 OR NOT(HZ_250)
+         * (skip other variables)
+         */
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -hz100, -hz250));
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -hz100, -hz300));
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -hz100, -hz1000));
+        
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -choice12, hz100, hz250, hz300, hz1000));
+        
+        Assert.assertTrue("Error: Missing choice constraint",
+                DimacsTestUtils.containsConstraint(result, choice12, -hz100));
+        Assert.assertTrue("Error: Missing choice constraint",
+                DimacsTestUtils.containsConstraint(result, choice12, -hz250));
     }
     
