diff --git a/src/main/java/de/ids_mannheim/korap/KrillQuery.java b/src/main/java/de/ids_mannheim/korap/KrillQuery.java
index f6f1c74..abfc16e 100644
--- a/src/main/java/de/ids_mannheim/korap/KrillQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/KrillQuery.java
@@ -1070,6 +1070,7 @@
 
                         for (JsonNode operand : operands) {
                             SpanQueryWrapper part = this._segFromJson(operand);
+                           
                             if (part instanceof SpanAlterQueryWrapper) {
                                 ssegqw.with((SpanAlterQueryWrapper) part);
                             }
@@ -1347,7 +1348,7 @@
                 saqw.or(v);
             };
                 
-			if (match.equals("match:ne")) {
+			if (match.equals("match:ne")) {                
 				if (DEBUG)
 					log.trace("Term is negated");
 
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSegmentQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSegmentQueryWrapper.java
index 4d1c712..cbc715b 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSegmentQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSegmentQueryWrapper.java
@@ -119,9 +119,12 @@
 
     public SpanSegmentQueryWrapper with (SpanAlterQueryWrapper alter) {
         if (!alter.isNull()) {
-            if (alter.isNegative())
-                this.isNegative = true;
-            this.inclusive.add(alter);
+            if (alter.isNegative()) {
+                this.exclusive.add(alter);
+            }
+            else {
+                this.inclusive.add(alter);
+            };
             this.isNull = false;
         };
         return this;
@@ -167,18 +170,14 @@
 
 
     public SpanSegmentQueryWrapper without (SpanAlterQueryWrapper alter) {
-        if (!alter.isNull()) {
-            if (alter.isNegative()) {
-                this.inclusive.add(alter);
-            }
-            else {
-                this.exclusive.add(alter);
-            };
-            this.isNull = false;
-        };
-        return this;
+        if (alter.isNegative()) {
+            alter.setNegative(false);
+        } else {
+            alter.setNegative(true);
+        }
+        return this.with(alter);
     };
-
+   
 
     public SpanSegmentQueryWrapper without (SpanSegmentQueryWrapper seg) {
         if (!seg.isNull()) {
