diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
index fb5b254..fc915c8 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/NextSpans.java
@@ -178,7 +178,8 @@
             if (cs.getStart() == firstSpans.end()) {
                 addMatch(cs);
             }
-            else if (cs.getEnd() < firstSpans.end()){
+            else if (cs.getEnd() < firstSpans.end() 
+                    && cs.getStart() <firstSpans.start()){
                 i.remove();
             }
         }
@@ -268,15 +269,16 @@
                           secondSpans.end(),
                           secondSpans.doc());
             };
+            
+            if (hasMoreFirstSpan){
+                setMatchList();
+            }
+            else {
+                hasMoreSpans = false;
+                candidateList.clear();
+            }
         }
         matchPayload.clear();
-        if (hasMoreFirstSpan){
-            setMatchList();
-        }
-        else {
-            hasMoreSpans = false;
-            candidateList.clear();
-        }
         return advance();
     }
 
