Index: /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java
===================================================================
--- /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 102)
+++ /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 103)
@@ -22,5 +22,6 @@
      * Returns this condition as a {@link ConstraintSyntaxTree}.
      * @param reader The reader to get the variables from.
-     * @return A {@link ConstraintSyntaxTree} representing this condition.
+     * @return A {@link ConstraintSyntaxTree} representing this condition. <code>null</code> if condition is optimized
+     *         out.
      * @throws ParserException If the conditions contains an operation, that is not supported by the parser.
      */
@@ -79,5 +80,5 @@
      * @param condition A string representing the condition as read from a .rsf file.
      * @param variable The variable that depends on the condition (used to handle 'm').
-     * @return A {@link ConstraintSyntaxTree} representing the condition.
+     * @return A {@link ConstraintSyntaxTree} representing the condition. <code>null</code> if always true.
      * @throws ParserException If the conditions contains an operation, that is not supported by the parser.
      */
@@ -136,6 +137,9 @@
         
         if (highestOperandPos == -1) {
-            // we only have a variable
-            result = getVariable(reader, condition, variable);
+            if (!condition.equals("y")) {
+                // we only have a variable
+                result = getVariable(reader, condition, variable);
+            }
+            // result = null if condition is "y"
         } else {
             StringBuffer left = new StringBuffer();
Index: /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java
===================================================================
--- /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 102)
+++ /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 103)
@@ -35,5 +35,5 @@
         this.variable = variable;
         this.condition = condition;
-        // TODO error handling if only on is true?
+        // TODO error handling if only one is true?
         if (this.condition.startsWith("\"") && this.condition.endsWith("\"")) {
             this.condition = this.condition.substring(1, this.condition.length() - 1);
@@ -48,5 +48,11 @@
         ConstraintSyntaxTree condition = getConstraintSyntaxTree(reader, this.condition, variable);
         
-        return new OCLFeatureCall(notVar, OclKeyWords.OR, condition);
+        ConstraintSyntaxTree result = null;
+        
+        if (condition != null) {
+            result = new OCLFeatureCall(notVar, OclKeyWords.OR, condition);
+        }
+        
+        return result;
     }
     
Index: /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFItemSelectsCondition.java
===================================================================
--- /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFItemSelectsCondition.java	(revision 102)
+++ /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFItemSelectsCondition.java	(revision 103)
@@ -19,5 +19,9 @@
  * <code>
  * (NOT <i>variable</i> OR NOT <i>condition</i>) OR (<i>variable</i> AND <i>selectedVaraible</i> AND <i>condition</i>)
- * </code>
+ * </code> <br />
+ * or, if condition is "y", to: <br />
+ * <code>
+ * NOT <i>variable</i> OR (<i>variable</i> AND <i>selectedVaraible</i>)
+ * </code> <br />
  * @author Adam Krafczyk
  */
@@ -37,10 +41,10 @@
         this.variable = variable;
         this.selectedVariable = selectedVaraible;
-        // TODO error handling if only on is true?
+        // TODO error handling if only one is true?
         if (this.selectedVariable.startsWith("\"") && this.selectedVariable.endsWith("\"")) {
             this.selectedVariable = this.selectedVariable.substring(1, this.selectedVariable.length() - 1);
         }
         this.condition = condition;
-        // TODO error handling if only on is true?
+        // TODO error handling if only one is true?
         if (this.condition.startsWith("\"") && this.condition.endsWith("\"")) {
             this.condition = this.condition.substring(1, this.condition.length() - 1);
@@ -59,11 +63,21 @@
         
         ConstraintSyntaxTree condition = getConstraintSyntaxTree(reader, this.condition, variable);
-        OCLFeatureCall notCondition = new OCLFeatureCall(condition, OclKeyWords.NOT);
         
-        OCLFeatureCall leftOR = new OCLFeatureCall(notVar, OclKeyWords.OR, notCondition);
-        OCLFeatureCall rightAND1 = new OCLFeatureCall(var, OclKeyWords.AND, selectedVar);
-        OCLFeatureCall rightAND2 = new OCLFeatureCall(rightAND1, OclKeyWords.AND, condition);
+        ConstraintSyntaxTree result = null;
         
-        return new OCLFeatureCall(leftOR, OclKeyWords.OR, rightAND2);
+        if (condition != null) {
+            OCLFeatureCall notCondition = new OCLFeatureCall(condition, OclKeyWords.NOT);
+            
+            OCLFeatureCall leftOR = new OCLFeatureCall(notVar, OclKeyWords.OR, notCondition);
+            OCLFeatureCall rightAND1 = new OCLFeatureCall(var, OclKeyWords.AND, selectedVar);
+            OCLFeatureCall rightAND2 = new OCLFeatureCall(rightAND1, OclKeyWords.AND, condition);
+            
+            result = new OCLFeatureCall(leftOR, OclKeyWords.OR, rightAND2);
+        } else {
+            OCLFeatureCall and = new OCLFeatureCall(var, OclKeyWords.AND, selectedVar);
+            result = new OCLFeatureCall(notVar, OclKeyWords.OR, and);
+        }
+        
+        return result;
     }
     
Index: /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java
===================================================================
--- /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 102)
+++ /Code/ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 103)
@@ -11,4 +11,5 @@
 
 import de.uni_hildesheim.sse.model.cst.CSTSemanticException;
+import de.uni_hildesheim.sse.model.cst.ConstraintSyntaxTree;
 import de.uni_hildesheim.sse.model.varModel.Constraint;
 import de.uni_hildesheim.sse.model.varModel.Project;
@@ -125,6 +126,9 @@
             try {
                 Constraint constraint = new Constraint(model);
-                constraint.setConsSyntax(condition.toConstraintSyntaxTree(this));
-                model.add(constraint);
+                ConstraintSyntaxTree tree = condition.toConstraintSyntaxTree(this);
+                if (tree != null) {
+                    constraint.setConsSyntax(tree);
+                    model.add(constraint);
+                }
             } catch (CSTSemanticException e) {
                 LOGGER.exception(e);
