Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/out/DimacsWriter.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/out/DimacsWriter.java	(revision 392)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/out/DimacsWriter.java	(revision 393)
@@ -102,5 +102,5 @@
         for (Constraint constraint : constraints) {
             ConstraintSyntaxTree tree = constraint.getConsSyntax();
-            writeTree(tree);
+            writeTree(tree, false);
             writer.append("0");
             writer.append(IvmlKeyWords.LINEFEED);
@@ -114,19 +114,22 @@
      * Assumes that the {@link ConstraintSyntaxTree} is in CNF.
      * @param tree The {@link ConstraintSyntaxTree} to be written.
+     * @param negated Whether we are currently in a not call.
      * @throws IOException When writing to the {@link Writer} fails
      */
-    private void writeTree(ConstraintSyntaxTree tree) throws IOException {
+    private void writeTree(ConstraintSyntaxTree tree, boolean negated) throws IOException {
         if (tree instanceof Variable) {
             AbstractVariable variable = ((Variable) tree).getVariable();
             int number = variables.get(variable.getName());
+            if (negated) {
+                writer.append("-");
+            }
             writer.append(number + " ");
         } else if (tree instanceof OCLFeatureCall) {
             OCLFeatureCall call = (OCLFeatureCall) tree;
             if (call.getOperation().equals(OclKeyWords.OR)) {
-                writeTree(call.getParameter(0));
-                writeTree(call.getOperand());
+                writeTree(call.getParameter(0), negated);
+                writeTree(call.getOperand(), negated);
             } else if (call.getOperation().equals(OclKeyWords.NOT)) {
-                writer.append("-");
-                writeTree(call.getOperand());
+                writeTree(call.getOperand(), !negated);
             } else {
                 LOGGER.debug("Unexpected Operation in model... skipping"); // TODO
