Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 397)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 398)
@@ -43,5 +43,5 @@
 
     private RSFItem variable;
-    private String condition;
+    private List<String> conditions;
     
     /**
@@ -52,9 +52,18 @@
     RSFDependsCondition(RSFItem variable, String condition) {
         this.variable = variable;
-        this.condition = condition;
+        conditions = new ArrayList<String>();
+        addCondition(condition);
+    }
+    
+    /**
+     * Adds another condition with the same base variable.
+     * @param condition The other condition as read from another Depends variable line.
+     */
+    void addCondition(String condition) {
         // 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);
+        if (condition.startsWith("\"") && condition.endsWith("\"")) {
+            condition = condition.substring(1, condition.length() - 1);
         }
+        conditions.add(condition);
     }
     
@@ -63,19 +72,40 @@
         ConstraintSyntaxTree notVar = getUnselectedVariable(variable, reader);
         
-        ConstraintSyntaxTree condition = getPureBooleanConstraintSyntaxTree(reader, this.condition, variable.getName());
+        List<ConstraintSyntaxTree> conditionTrees = new ArrayList<ConstraintSyntaxTree>();
+        
+        for (String conditionString : conditions) {
+            conditionTrees.add(getPureBooleanConstraintSyntaxTree(reader, conditionString, variable.getName()));
+        }
         
         List<ConstraintSyntaxTree> result  = new ArrayList<ConstraintSyntaxTree>();
         
-        if (condition != null) {
-            result.add(new OCLFeatureCall(notVar, OclKeyWords.OR, condition));
+        boolean hasAtLeastOneNotNull = false;
+        for (ConstraintSyntaxTree tree : conditionTrees) {
+            if (tree != null) {
+                hasAtLeastOneNotNull = true;
+                break;
+            }
+        }
+        
+        if (hasAtLeastOneNotNull) {
             
+            ConstraintSyntaxTree tree = notVar;
             List<RSFItem> tristates = new ArrayList<RSFItem>();
-            DeclrationInConstraintFinder declFinder = new DeclrationInConstraintFinder(condition);
-            for (AbstractVariable var : declFinder.getDeclarations()) {
-                RSFItem varItem = reader.getItemNoCreate(var.getName());
-                if (varItem != null && varItem.getDatatype().equals(Datatype.TRISTATE)) {
-                    tristates.add(varItem);
+            
+            for (ConstraintSyntaxTree conditionTree : conditionTrees) {
+                if (conditionTree != null) {
+                    tree = new OCLFeatureCall(tree, OclKeyWords.OR, conditionTree);
+                    
+                    DeclrationInConstraintFinder declFinder = new DeclrationInConstraintFinder(conditionTree);
+                    for (AbstractVariable var : declFinder.getDeclarations()) {
+                        RSFItem varItem = reader.getItemNoCreate(var.getName());
+                        if (varItem != null && varItem.getDatatype().equals(Datatype.TRISTATE)) {
+                            tristates.add(varItem);
+                        }
+                    }
                 }
             }
+            
+            result.add(tree);
             
             if (tristates.size() > 1) {
Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 397)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 398)
@@ -40,4 +40,5 @@
     private List<RSFCondition> conditions;
     private Map<String, RSFChoice> choices;
+    private Map<String, RSFDependsCondition> dependsConditions;
 
     /**
@@ -67,4 +68,5 @@
         conditions = new ArrayList<RSFCondition>();
         choices = new HashMap<String, RSFChoice>();
+        dependsConditions = new HashMap<String, RSFDependsCondition>();
     }
     
@@ -145,20 +147,10 @@
         
         // 2. Add conditions
+        
+        conditions.addAll(dependsConditions.values());
+        conditions.addAll(choices.values());
+        
         for (RSFCondition condition : conditions) {
             List<ConstraintSyntaxTree> trees = condition.toPureBooleanConstraintSyntaxTree(this);
-            for (ConstraintSyntaxTree tree : trees) {
-                Constraint constraint = new Constraint(model);
-                try {
-                    constraint.setConsSyntax(tree);
-                    model.add(constraint);
-                } catch (CSTSemanticException e) {
-                    LOGGER.exception(e);
-                }
-            }
-        }
-        
-        // 3. Add choice conditions
-        for (RSFChoice choice : choices.values()) {
-            List<ConstraintSyntaxTree> trees = choice.toPureBooleanConstraintSyntaxTree(this);
             for (ConstraintSyntaxTree tree : trees) {
                 Constraint constraint = new Constraint(model);
@@ -240,5 +232,4 @@
                 String fieldType = columns[0];
                 String itemName = columns[1];
-                //System.out.println(itemName);
                 RSFItem item = getItem(itemName);
                 switch (fieldType) {
@@ -267,5 +258,9 @@
                 case "Depends":
                     // condition in [2]
-                    conditions.add(new RSFDependsCondition(item, columns[2]));
+                    if (dependsConditions.containsKey(itemName)) {
+                        dependsConditions.get(itemName).addCondition(columns[2]);
+                    } else {
+                        dependsConditions.put(itemName, new RSFDependsCondition(item, columns[2]));
+                    }
                     break;
                 case "Choice":
Index: /ModelTranslator/test/de/uni_hildesheim/sse/trans/in/rsf/RSFReaderTest.java
===================================================================
--- /ModelTranslator/test/de/uni_hildesheim/sse/trans/in/rsf/RSFReaderTest.java	(revision 397)
+++ /ModelTranslator/test/de/uni_hildesheim/sse/trans/in/rsf/RSFReaderTest.java	(revision 398)
@@ -38,6 +38,6 @@
         
         ConstraintFinder cFinder = new ConstraintFinder(project);
-        // 8 conditions + 2 _MODULE conditions + 1 Tristate-Depends-on-Tristate condition
-        Assert.assertEquals(11, cFinder.getConstraints().size());
+        // 8 conditions + 2 _MODULE conditions + 1 Tristate-Depends-on-Tristate condition - 1 multiple depend
+        Assert.assertEquals(10, cFinder.getConstraints().size());
         
 //        for (Constraint c : cFinder.getConstraints()) {
Index: /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java
===================================================================
--- /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 397)
+++ /ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 398)
@@ -231,5 +231,4 @@
      * @see <a href="https://projects.sse.uni-hildesheim.de/agilo/ModelTranslator/ticket/4">Requirement 4</a>
      */
-    @Ignore()
     @Test
     public void testMultipleDepends() {
