diff --git a/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java b/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
index 0a32a18..180d3ce 100644
--- a/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
+++ b/src/test/java/de/ids_mannheim/korap/search/TestKorapSearch.java
@@ -958,7 +958,10 @@
         );
 
 	KorapResult kr = new KorapSearch(json).run(ki);
-	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist [der alte Digraph Aa durch Å] ersetzt worden, in Eigennamen und Ortsnamen ...", kr.getMatch(0).getSnippetBrackets());
+	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist " +
+		     "[der alte Digraph Aa durch Å] ersetzt worden, " +
+		     "in Eigennamen und Ortsnamen ...",
+		     kr.getMatch(0).getSnippetBrackets());
 	assertEquals("WPD_AAA.00002", kr.getMatch(0).getDocID());
 	assertEquals(1, kr.getTotalResults());
 
@@ -969,7 +972,10 @@
         );
 
 	kr = new KorapSearch(json).run(ki);
-	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist [der alte Digraph Aa durch Å] ersetzt worden, in Eigennamen und Ortsnamen ...", kr.getMatch(0).getSnippetBrackets());
+	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist " +
+		     "[der alte Digraph Aa durch Å] ersetzt worden, " +
+		     "in Eigennamen und Ortsnamen ...",
+		     kr.getMatch(0).getSnippetBrackets());
 	assertEquals("WPD_AAA.00002", kr.getMatch(0).getDocID());
 	assertEquals(1, kr.getTotalResults());
 
@@ -990,7 +996,10 @@
         );
 
 	kr = new KorapSearch(json).run(ki);
-	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist [der alte Digraph Aa durch Å] ersetzt worden, in Eigennamen und Ortsnamen ...", kr.getMatch(0).getSnippetBrackets());
+	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist " +
+		     "[der alte Digraph Aa durch Å] ersetzt worden, " +
+		     "in Eigennamen und Ortsnamen ...",
+		     kr.getMatch(0).getSnippetBrackets());
 	assertEquals("WPD_AAA.00002", kr.getMatch(0).getDocID());
 	assertEquals(1, kr.getTotalResults());
 
@@ -1000,13 +1009,19 @@
         );
 
 	kr = new KorapSearch(json).run(ki);
-	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist [der alte Digraph Aa durch Å] ersetzt worden, in Eigennamen und Ortsnamen ...", kr.getMatch(0).getSnippetBrackets());
+
+	if (kr.getTotalResults() != 1)
+	    fail("Expansion fails");
+
+	assertEquals("... Buchstabe des Alphabetes. In Dänemark ist " +
+		     "[der alte Digraph Aa durch Å] ersetzt worden, " +
+		     "in Eigennamen und Ortsnamen ...",
+		     kr.getMatch(0).getSnippetBrackets());
 	assertEquals("WPD_AAA.00002", kr.getMatch(0).getDocID());
 	assertEquals(1, kr.getTotalResults());
     };
 
 
-
     /*
       This test will crash soon - it's just here for nostalgic reasons!
      */
