diff --git a/src/main/java/de/ids_mannheim/korap/KorapQuery.java b/src/main/java/de/ids_mannheim/korap/KorapQuery.java
index e15eeef..b8a3e52 100644
--- a/src/main/java/de/ids_mannheim/korap/KorapQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/KorapQuery.java
@@ -382,8 +382,9 @@
 
 		SpanQueryWrapper sqw = this.fromJSON(operands.get(0));
 
-		if (sqw.maybeExtension())
+		if (sqw.maybeExtension()) {
 		    return sqw.setMin(min).setMax(max);
+		};
 
 		return new SpanRepetitionQueryWrapper(sqw, min, max);
 	    };
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanQueryWrapper.java
index 3022adb..f9eb3ea 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanQueryWrapper.java
@@ -21,7 +21,8 @@
     protected boolean isNull = true,
 	              isOptional = false,
  	              isNegative = false,
-	              isEmpty = false;
+ 	              isEmpty = false,
+	              isExtendedToTheRight;
 
     // Serialize query to Lucene SpanQuery
     public SpanQuery toQuery () throws QueryException {
@@ -39,6 +40,8 @@
     // like in
     // "the [pos=ADJ]{0} tree"
     public boolean isNull () {
+	if (this.getMin() == 0 && this.getMax() == 0)
+	    return true;
 	return this.isNull;
     };
 
@@ -54,6 +57,15 @@
 	return this.isEmpty;
     };
 
+    // The subquery may exceed the right text offset due to an empty extension
+    // [base=tree][]{3,4}
+    // This makes it necessary to check the last position of the span
+    // for match testing
+    public boolean isExtendedToTheRight () {
+	return this.isExtendedToTheRight;
+    };
+
+
     // Check, if the query may be an anchor
     // in a SpanSequenceQueryWrapper
     public boolean maybeAnchor () {
@@ -69,6 +81,7 @@
 	return true;
     };
 
+    // Oposite to maybeAnchor - means "it is complicated"
     public boolean maybeExtension () {
 	return !this.maybeAnchor();
     };
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRepetitionQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRepetitionQueryWrapper.java
index 3b9763d..a6c5640 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRepetitionQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanRepetitionQueryWrapper.java
@@ -63,6 +63,7 @@
 	    min = 1;
 	    if (max == 0)
 		this.isNull = true;
+	    System.err.println("++++++++++++++++++++++++++++++");
 	};
 
 	this.min = min;
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
index 297281e..1180aeb 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSequenceQueryWrapper.java
@@ -28,6 +28,10 @@
   TODO:
   Make isNegative work!
   Make isEmpty work!
+  Make isExtendedToTheRight work!
+
+  Probably the problemsolving should be done on attribute check
+  not on toQuery().
 */
 
 
