diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java b/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
index 7beedc0..914556b 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
@@ -7,10 +7,9 @@
 import org.apache.lucene.search.spans.Spans;
 
 /**
- * A CandidateSpan works as an object storing the current state of the
- * corresponding Lucene {@link Spans}, which is an enumeration. CandidateSpan is
- * used for various purposes, such as for collecting spans which will be used in
- * a latter process or next matching.
+ * CandidateSpan stores the current state of a Lucene {@link Spans}, which is an
+ * enumeration. CandidateSpan is used for various purposes, such as for
+ * collecting spans which will be used in a latter process or next matching.
  * 
  * @author margaretha
  * */
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanClassQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanClassQueryWrapper.java
index fd1ed56..fa4323a 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanClassQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanClassQueryWrapper.java
@@ -18,7 +18,7 @@
         if (number != (byte) 0)
             this.hasClass = true;
 		this.min = subquery.min;
-        this.max=subquery.max;
+		this.max = subquery.max;
     };
 
     public SpanClassQueryWrapper (SpanQueryWrapper subquery, short number) {
@@ -50,7 +50,7 @@
     };
 
     public SpanQuery toQuery () throws QueryException {
-        if (this.subquery.isNull())
+		if (this.subquery.isNull())
             return (SpanQuery) null;
 
         SpanQuery sq = (SpanQuery) this.subquery.toQuery();
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSubspanQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSubspanQueryWrapper.java
index f4b9f39..b137353 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSubspanQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanSubspanQueryWrapper.java
@@ -110,7 +110,9 @@
 		if (sq == null)
 			return null;
 		if (sq instanceof SpanTermQuery) {
-			if ((startOffset == 0 || startOffset == -1) && 
+			if (subquery.isNegative()) return sq;
+			else if ((startOffset == 0 || startOffset == -1)
+					&&
 					(length == 1 || length == 0)) {
 				// if (DEBUG) log.warn("Not SpanSubspanQuery. " +
 				// "Creating only a SpanQuery for the subquery.");
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestSpanExpansionIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestSpanExpansionIndex.java
index c537ac6..cdf5556 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestSpanExpansionIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestSpanExpansionIndex.java
@@ -76,7 +76,8 @@
     }
 
     /**
-     * Classnumber Cannot check the expansion offset correctness directly
+     * Classnumber 
+     * Check the expansion offsets
      * */
     @Test
     public void testCase2() {
@@ -167,7 +168,8 @@
     }
 
     /**
-     * Left expansion with exclusion No expansion
+     * Left expansion with exclusion 
+     * No expansion
      * */
     @Test
     public void testCase4() throws IOException {
@@ -207,8 +209,8 @@
     }
 
     /**
-     * Expansion over start and end documents start => cut to 0 TODO: end => to
-     * be handled in rendering process
+     * Expansion over start and end documents start => cut to 0 
+     * TODO: end => to be handled in rendering process
      * 
      * @throws IOException
      * */
@@ -380,7 +382,6 @@
             while ((str = in.readLine()) != null) {
                 sb.append(str);
             }
-            ;
             in.close();
         } catch (IOException e) {
             fail(e.getMessage());
diff --git a/src/test/java/de/ids_mannheim/korap/query/TestSpanSubspanQueryJSON.java b/src/test/java/de/ids_mannheim/korap/query/TestSpanSubspanQueryJSON.java
index 444ec79..1732e63 100644
--- a/src/test/java/de/ids_mannheim/korap/query/TestSpanSubspanQueryJSON.java
+++ b/src/test/java/de/ids_mannheim/korap/query/TestSpanSubspanQueryJSON.java
@@ -150,15 +150,13 @@
 	}
 
 	@Test
-	public void testNegativeEmbeddedSequence() throws QueryException {
-		// submatch(1,1:das [base != Baum])
+	public void testNegativeToken() throws QueryException {
+		// submatch(0,1:[base != Baum])
 		String filepath = getClass().getResource(
-				"/queries/submatch/embedded-negative-seq.jsonld").getFile();
+				"/queries/submatch/negative-token.jsonld").getFile();
 		SpanQueryWrapper sqwi = getJSONQuery(filepath);
 		SpanQuery sq = sqwi.toQuery();
-		assertEquals(
-				"subspan(spanExpansion(tokens:s:das, !tokens:l:Baum{1, 1}, right), 1, 1)",
-				sq.toString());
+		assertEquals("tokens:l:Baum", sq.toString());
 	}
 
 	@Test
@@ -174,25 +172,52 @@
 	}
 
 	@Test
-	public void testNegativeToken() throws QueryException {
-		// submatch(0,1:[base != Baum])
+	public void testNegativeSequenceWithClass() throws QueryException {
+		// das {1:submatch(0,1:[base != Baum])}
 		String filepath = getClass().getResource(
-				"/queries/submatch/negative-token.jsonld").getFile();
+				"/queries/submatch/negative-sequence-class.jsonld").getFile();
 		SpanQueryWrapper sqwi = getJSONQuery(filepath);
 		SpanQuery sq = sqwi.toQuery();
-		assertEquals("tokens:l:Baum", sq.toString());
+		assertEquals(
+				"spanExpansion(tokens:s:das, !{1: tokens:l:Baum}{1, 1}, right, class:1)",
+				sq.toString());
 	}
 
 	@Test
+	public void testNegativeEmbeddedSequence() throws QueryException {
+		// submatch(1,1:das [base != Baum])
+		String filepath = getClass().getResource(
+				"/queries/submatch/embedded-negative-seq.jsonld").getFile();
+		SpanQueryWrapper sqwi = getJSONQuery(filepath);
+		SpanQuery sq = sqwi.toQuery();
+		assertEquals(
+				"subspan(spanExpansion(tokens:s:das, !tokens:l:Baum{1, 1}, right), 1, 1)",
+				sq.toString());
+	}
+
+	@Test
+	public void testNegativeEmbeddedSequenceWithClass() throws QueryException {
+		// submatch(0,1:{1:[base != Baum] dass})
+		String filepath = getClass().getResource(
+				"/queries/submatch/embedded-negative-class-seq.jsonld")
+				.getFile();
+		SpanQueryWrapper sqwi = getJSONQuery(filepath);
+		SpanQuery sq = sqwi.toQuery();
+		assertEquals(
+				"subspan({1: spanExpansion(tokens:s:dass, !tokens:l:Baum{1, 1}, left)}, 0, 1)",
+				sq.toString());
+	}
+
+
+	@Test
 	public void testEmbeddedNegativeRepetition() throws QueryException {
 		// submatch(1,1:das [base != Baum]{1,3})
-		// need a spanExpansionQueryWrapper to handle a null notquery and
-		// a repetition of a negative query
 		String filepath = getClass().getResource(
 				"/queries/submatch/embedded-negative-repetition.jsonld")
 				.getFile();
 		SpanQueryWrapper sqwi = getJSONQuery(filepath);
 		SpanQuery sq = sqwi.toQuery();
+		// 1,1 expansion is enough
 		assertEquals(
 				"subspan(spanExpansion(tokens:s:das, !tokens:l:Baum{1, 3}, right), 1, 1)",
 				sq.toString());
@@ -200,7 +225,7 @@
 
 	@Test
 	public void testNegativeRepetition() throws QueryException {
-		// das submatch(1,1:[base != Baum]{1,3})
+		// das submatch(1,2:[base != Baum]{1,3})
 		// need a spanExpansionQueryWrapper to handle a null notquery and
 		// a repetition of a negative query
 		String filepath = getClass().getResource(
@@ -209,10 +234,7 @@
 		SpanQueryWrapper sqwi = getJSONQuery(filepath);
 		SpanQuery sq = sqwi.toQuery();
 		assertEquals(
-				"spanExpansion(tokens:s:das, !tokens:l:Baum{1, 1}, right)",
+				"spanExpansion(tokens:s:das, !tokens:l:Baum{2, 2}, right)",
 				sq.toString());
 	}
-
-
-
 }
diff --git a/src/test/resources/queries/submatch/embedded-negative-class-seq.jsonld b/src/test/resources/queries/submatch/embedded-negative-class-seq.jsonld
new file mode 100644
index 0000000..62e48c7
--- /dev/null
+++ b/src/test/resources/queries/submatch/embedded-negative-class-seq.jsonld
@@ -0,0 +1,49 @@
+{
+    "@context": "http://ids-mannheim.de/ns/KorAP/json-ld/v0.2/context.jsonld",
+    "errors": [],
+    "warnings": [],
+    "messages": [[
+        303,
+        "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. Classes are now defined using the 'classOut' attribute."
+    ]],
+    "collection": {},
+    "query": {
+        "@type": "korap:reference",
+        "operation": "operation:focus",
+        "operands": [{
+            "@type": "korap:group",
+            "operation": "operation:class",
+            "class": 1,
+            "classOut": 1,
+            "operands": [{
+                "@type": "korap:group",
+                "operation": "operation:sequence",
+                "operands": [
+                    {
+                        "@type": "korap:token",
+                        "wrap": {
+                            "@type": "korap:term",
+                            "layer": "lemma",
+                            "key": "Baum",
+                            "match": "match:ne"
+                        }
+                    },
+                    {
+                        "@type": "korap:token",
+                        "wrap": {
+                            "@type": "korap:term",
+                            "layer": "orth",
+                            "key": "dass",
+                            "match": "match:eq"
+                        }
+                    }
+                ]
+            }]
+        }],
+        "spanRef": [
+            0,
+            1
+        ]
+    },
+    "meta": {"highlight": [1]}
+}
diff --git a/src/test/resources/queries/submatch/negative-repetition.jsonld b/src/test/resources/queries/submatch/negative-repetition.jsonld
index 88cf217..d919167 100644
--- a/src/test/resources/queries/submatch/negative-repetition.jsonld
+++ b/src/test/resources/queries/submatch/negative-repetition.jsonld
@@ -40,7 +40,7 @@
                 }],
                 "spanRef": [
                     1,
-                    1
+                    2
                 ]
             }
         ]
diff --git a/src/test/resources/queries/submatch/negative-sequence-class.jsonld b/src/test/resources/queries/submatch/negative-sequence-class.jsonld
new file mode 100644
index 0000000..63b6e56
--- /dev/null
+++ b/src/test/resources/queries/submatch/negative-sequence-class.jsonld
@@ -0,0 +1,49 @@
+{
+    "@context": "http://ids-mannheim.de/ns/KorAP/json-ld/v0.2/context.jsonld",
+    "errors": [],
+    "warnings": [],
+    "messages": [[
+        303,
+        "Deprecated 2014-10-07: 'class' only to be supported until 3 months from deprecation date. Classes are now defined using the 'classOut' attribute."
+    ]],
+    "collection": {},
+    "query": {
+        "@type": "korap:group",
+        "operation": "operation:sequence",
+        "operands": [
+            {
+                "@type": "korap:token",
+                "wrap": {
+                    "@type": "korap:term",
+                    "layer": "orth",
+                    "key": "das",
+                    "match": "match:eq"
+                }
+            },
+            {
+                "@type": "korap:group",
+                "operation": "operation:class",
+                "class": 1,
+                "classOut": 1,
+                "operands": [{
+                    "@type": "korap:reference",
+                    "operation": "operation:focus",
+                    "operands": [{
+                        "@type": "korap:token",
+                        "wrap": {
+                            "@type": "korap:term",
+                            "layer": "lemma",
+                            "key": "Baum",
+                            "match": "match:ne"
+                        }
+                    }],
+                    "spanRef": [
+                        0,
+                        1
+                    ]
+                }]
+            }
+        ]
+    },
+    "meta": {"highlight": [1]}
+}
\ No newline at end of file
