diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
index 331a5b8..cf12852 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ClassSpans.java
@@ -22,7 +22,6 @@
 
 public class ClassSpans extends Spans {
     private List<byte[]> highlightedPayload;
-    private Collection<byte[]> payload;
     private final Spans spans;
     private byte number;
     private SpanQuery highlight;
@@ -73,7 +72,15 @@
 	    log.trace("Forward next");
 
 	if (spans.next()) {
-	    hasmorespans = true;
+		addClassPayload();
+	    return true;
+	};
+	hasmorespans = false;
+	return false;
+    };
+    
+    private void addClassPayload() throws IOException {
+    	hasmorespans = true;
 
 	    highlightedPayload.clear();
 
@@ -94,6 +101,7 @@
 	    //private
 	    bb.clear();
 	    bb.putInt(spans.start()).putInt(spans.end()).put(number);
+	   // System.out.println(number+":"+spans.start()+","+spans.end());
 	    /*
 	    if (DEBUG)
 		log.trace("Results in {} with {}", bb.toString(), bb.array());
@@ -107,18 +115,17 @@
 	    };
 	    */
 		
-	    return true;
-	};
-	hasmorespans = false;
-	return false;
-    };
+	}
 
     // inherit javadocs
     @Override
     public boolean skipTo(int target) throws IOException {
 	highlightedPayload.clear();
-	if (hasmorespans && spans.doc() < target)
-	    return spans.skipTo(target);
+	if (hasmorespans && spans.doc() < target &&
+			spans.skipTo(target)){
+		addClassPayload();
+	    return true;
+	}
 	return false;
     };
 
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 bfa1579..e03940a 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
@@ -61,12 +61,10 @@
 			    matchStartPosition = firstSpans.start();
 			    matchEndPosition = matchList.get(0).getEnd();
 			    if (collectPayloads)
-			    	matchPayload.addAll( matchList.get(0).getPayloads() );
-			    if (DEBUG) {
-				log.trace("Match doc#: {}",matchDocNumber);
-				log.trace("Match positions: {}-{}", matchStartPosition,
-					  matchEndPosition);
-			    };
+			    	matchPayload.addAll( matchList.get(0).getPayloads() );	
+			    //System.out.println(this.toString());
+				/*System.out.println("Match positions "+ matchStartPosition+","+
+				  matchEndPosition);*/
 			    matchList.remove(0);
 			    return true;
 			}
diff --git a/src/test/java/de/ids_mannheim/korap/highlight/TestClass.java b/src/test/java/de/ids_mannheim/korap/highlight/TestClass.java
new file mode 100644
index 0000000..5d3e0b5
--- /dev/null
+++ b/src/test/java/de/ids_mannheim/korap/highlight/TestClass.java
@@ -0,0 +1,73 @@
+package de.ids_mannheim.korap.highlight;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+
+import org.junit.Test;
+
+import de.ids_mannheim.korap.KorapIndex;
+import de.ids_mannheim.korap.KorapQuery;
+import de.ids_mannheim.korap.KorapResult;
+import de.ids_mannheim.korap.KorapSearch;
+import de.ids_mannheim.korap.query.SpanNextQuery;
+import de.ids_mannheim.korap.query.wrap.SpanQueryWrapper;
+import de.ids_mannheim.korap.util.QueryException;
+
+
+public class TestClass {
+	KorapIndex ki;
+	KorapResult kr;
+	KorapSearch ks;
+	
+	@Test
+	public void queryJSONpoly1() throws QueryException, IOException {
+		
+		String jsonPath = getClass().getResource("/queries/poly1.json").getFile();
+		String jsonQuery = readFile(jsonPath);
+		SpanQueryWrapper sqwi = new KorapQuery("tokens").fromJSON(
+				jsonQuery
+		);
+		
+		SpanNextQuery sq = (SpanNextQuery) sqwi.toQuery();
+		//System.out.println(sq.toString());
+		
+		ki = new KorapIndex();
+	    ki.addDocFile(
+	    	getClass().getResource("/wiki/JJJ-00785.json.gz").getFile(),true);
+	    ki.addDocFile(
+		        getClass().getResource("/wiki/DDD-01402.json.gz").getFile(),true);
+		ki.commit();
+		kr = ki.search(sq, (short) 10);
+
+		assertEquals(61, kr.getMatch(0).getStartPos());
+		assertEquals(64, kr.getMatch(0).getEndPos());
+		assertEquals("... Bruckner (Wien) und Mathis Lussy (Paris). [{1:Inspiriert} " +
+				"{2:durch die}] additiven Modelle arabischer Rhythmik (er half ...", 
+				kr.getMatch(0).getSnippetBrackets());
+		
+		assertEquals(31, kr.getMatch(1).getStartPos());
+		assertEquals(34, kr.getMatch(1).getEndPos());
+		assertEquals("... des Sendens wird ein unhörbarer Unterton [{1:mitgesendet}, " +
+				"{2:auf den}] das angesprochene Funkgerät reagiert. Die Abkürzung ...", 
+				kr.getMatch(1).getSnippetBrackets());
+	}
+	
+	private String readFile(String path) {
+		StringBuilder sb = new StringBuilder();
+		try {
+		    BufferedReader in = new BufferedReader(new FileReader(path));
+		    String str;
+		    while ((str = in.readLine()) != null) {
+		    	sb.append(str);
+		    };
+		    in.close();
+		} catch (IOException e) {
+		    fail(e.getMessage());
+		}
+		return sb.toString();
+	}
+}
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
index 6229ce1..8d0a05b 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
@@ -67,7 +67,9 @@
 	assertEquals("StartPos (0)", 7, kr.match(0).startPos);
 	assertEquals("EndPos (0)", 9, kr.match(0).endPos);
 	assertEquals("SnippetBrackets (0)", "... bcabca[ba]c", kr.match(0).snippetBrackets());
-	assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\"></span>bcabca</span><span class=\"match\">ba</span><span class=\"context-right\">c</span>", kr.match(0).snippetHTML());
+	assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\">" +
+			"</span>bcabca</span><span class=\"match\">ba</span><span class=\"context-right" +
+			"\">c</span>", kr.match(0).snippetHTML());
 
 	sq = new SpanTermQuery(new Term("base", "s:b"));
 	kr = ki.search(sq, (short) 10);
@@ -78,7 +80,9 @@
 	assertEquals("SnippetBrackets (0)", "a[b]cabcab ...", kr.match(0).snippetBrackets());
 
 
-	assertEquals("SnippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\">b</span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.match(0).snippetHTML());
+	assertEquals("SnippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\">" +
+			"b</span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", 
+			kr.match(0).snippetHTML());
 
 	assertEquals("StartPos (1)", 4, kr.match(1).startPos);
 	assertEquals("EndPos (1)", 5, kr.match(1).endPos);
@@ -94,11 +98,14 @@
 	assertEquals("StartPos (0)", 1, kr.match(0).startPos);
 	assertEquals("EndPos (0)", 2, kr.match(0).endPos);
 	assertEquals("snippetBrackets (0)", "a[{b}]cabcab ...", kr.match(0).snippetBrackets());
-	assertEquals("snippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\"><em class=\"class-0 level-0\">b</em></span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.match(0).snippetHTML());
+	assertEquals("snippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\">" +
+			"<em class=\"class-0 level-0\">b</em></span><span class=\"context-right\">cabcab<span " +
+			"class=\"more\"></span></span>", kr.match(0).snippetHTML());
 
 	assertEquals("StartPos (1)", 4, kr.match(1).startPos);
 	assertEquals("EndPos (1)", 5, kr.match(1).endPos);
 	assertEquals("snippetBrackets (1)", "abca[{b}]cabac", kr.match(1).snippetBrackets());
+	
 	assertEquals("StartPos (2)", 7, kr.match(2).startPos);
 	assertEquals("EndPos (2)", 8, kr.match(2).endPos);
 	assertEquals("snippetBrackets (2)", "... bcabca[{b}]ac", kr.match(2).snippetBrackets());
diff --git a/src/test/resources/queries/poly1.json b/src/test/resources/queries/poly1.json
new file mode 100644
index 0000000..bc1b138
--- /dev/null
+++ b/src/test/resources/queries/poly1.json
@@ -0,0 +1,82 @@
+{
+   "@context" : "http://ids-mannheim.de/ns/KorAP/json-ld/v0.2/context.jsonld",
+   "announcements" : [
+      "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. Classes are now defined using the 'classOut' attribute.",
+      "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. Classes are now defined using the 'classOut' attribute."
+   ],
+   "collection" : {},
+   "collections" : [
+      {
+         "@type" : "korap:meta-filter",
+         "@value" : {
+            "@field" : "korap:field#corpusID",
+            "@type" : "korap:term",
+            "@value" : "WPD"
+         }
+      }
+   ],
+   "errors" : [],
+   "meta" : {},
+   "query" : {
+      "@type" : "korap:group",
+      "operands" : [
+         {
+            "@type" : "korap:group",
+            "class" : 1,
+            "classOut" : 1,
+            "operands" : [
+               {
+                  "@type" : "korap:token",
+                  "wrap" : {
+                     "@type" : "korap:term",
+                     "foundry" : "tt",
+                     "key" : "VVPP",
+                     "layer" : "p",
+                     "match" : "match:eq"
+                  }
+               }
+            ],
+            "operation" : "operation:class"
+         },
+         {
+            "@type" : "korap:group",
+            "class" : 2,
+            "classOut" : 2,
+            "operands" : [
+               {
+                  "@type" : "korap:group",
+                  "operands" : [
+                     {
+                        "@type" : "korap:token",
+                        "wrap" : {
+                           "@type" : "korap:term",
+                           "foundry" : "tt",
+                           "key" : "APPR",
+                           "layer" : "pos",
+                           "match" : "match:eq"
+                        }
+                     },
+                     {
+                        "@type" : "korap:token",
+                        "wrap" : {
+                           "@type" : "korap:term",
+                           "foundry" : "mate",
+                           "key" : "case",
+                           "layer" : "m",
+                           "match" : "match:eq",
+                           "value" : "acc"
+                        }
+                     }
+                  ],
+                  "operation" : "operation:sequence"
+               }
+            ],
+            "operation" : "operation:class"
+         }
+      ],
+      "operation" : "operation:sequence"
+   },
+   "warnings" : []
+}
+  
+
diff --git a/src/test/resources/wiki/DDD-01402.json.gz b/src/test/resources/wiki/DDD-01402.json.gz
new file mode 100644
index 0000000..5a810ac
--- /dev/null
+++ b/src/test/resources/wiki/DDD-01402.json.gz
Binary files differ
diff --git a/src/test/resources/wiki/JJJ-00785.json.gz b/src/test/resources/wiki/JJJ-00785.json.gz
new file mode 100644
index 0000000..978027e
--- /dev/null
+++ b/src/test/resources/wiki/JJJ-00785.json.gz
Binary files differ
