diff --git a/matrix_test.go b/matrix_test.go
index 80523e5..c017af5 100644
--- a/matrix_test.go
+++ b/matrix_test.go
@@ -302,6 +302,35 @@
 	assert.Equal(len(sentences), 3)
 	assert.Equal("\"\nAusschalten\n!!!\n\"\n,\nsagte\ner\n.", sentences[0])
 	assert.Equal("\"\nHast\nDu\nnicht\ngehört\n???\n\"", sentences[1])
+
+	w.Reset()
+	assert.True(mat.Transduce(strings.NewReader("“Ausschalten!!!”, sagte er. «Hast Du nicht gehört???»"), w))
+	sentences = strings.Split(w.String(), "\n\n")
+	assert.Equal(len(sentences), 3)
+	assert.Equal("“\nAusschalten\n!!!\n”\n,\nsagte\ner\n.", sentences[0])
+	assert.Equal("«\nHast\nDu\nnicht\ngehört\n???\n»", sentences[1])
+
+	w.Reset()
+	assert.True(mat.Transduce(strings.NewReader("“Ausschalten!!!”, sagte er. «Hast Du nicht gehört???»"), w))
+	sentences = strings.Split(w.String(), "\n\n")
+	assert.Equal(len(sentences), 3)
+	assert.Equal("“\nAusschalten\n!!!\n”\n,\nsagte\ner\n.", sentences[0])
+	assert.Equal("«\nHast\nDu\nnicht\ngehört\n???\n»", sentences[1])
+
+	text := `»Meinetwegen. Denkst du, daß ich darauf warte? Das fehlte noch.
+Übrigens, ich kriege schon einen und vielleicht bald. Da ist mir nicht
+bange. Neulich erst hat mir der kleine Ventivegni von drüben gesagt:
+'Fräulein Effi, was gilt die Wette, wir sind hier noch in diesem Jahre
+zu Polterabend und Hochzeit.'«
+
+»Und was sagtest du da?«`
+
+	w.Reset()
+	assert.True(mat.Transduce(strings.NewReader(text), w))
+	sentences = strings.Split(w.String(), "\n\n")
+	assert.Equal(len(sentences), 8)
+	assert.Equal("Neulich\nerst\nhat\nmir\nder\nkleine\nVentivegni\nvon\ndrüben\ngesagt\n:\n'\nFräulein\nEffi\n,\nwas\ngilt\ndie\nWette\n,\nwir\nsind\nhier\nnoch\nin\ndiesem\nJahre\nzu\nPolterabend\nund\nHochzeit\n.\n'\n«", sentences[5])
+	assert.Equal("»\nUnd\nwas\nsagtest\ndu\nda\n?\n«", sentences[6])
 }
 
 func TestMatrixFullTokenizerTokenSplitter(t *testing.T) {
diff --git a/src/tokenizer.xfst b/src/tokenizer.xfst
index 4193c28..8a93c21 100644
--- a/src/tokenizer.xfst
+++ b/src/tokenizer.xfst
@@ -209,7 +209,7 @@
 echo - Introduce Token splitter
 
 define Token [
-  RealToken @-> ... NLout,
+  [%. %. %. | RealToken] @-> ... NLout,
   XML @-> ... NLout,
   URL @-> ... NLout,
   Email @-> ... NLout,
@@ -220,10 +220,13 @@
 
 echo - Introduce Sentence splitter
 ! And compose Whitespace ignorance
+
+define DQuotes ["”"|%"|"»"|"«"];
+
 read regex Token .o. [
-  SP NLout ["”"|"›"|"»"|%"|%’|"'"] @-> ... NLout \/ _ NLout \%,
+  SP NLout [DQuotes | "›" (NLout DQuotes)| %‹ (NLout DQuotes)| %’ (NLout DQuotes)| "'" (NLout DQuotes)] @-> ... NLout \/ _ NLout \%,
 ] .o. [
-  SP @-> ... NLout \/ NLout _ NLout [? - "”" - "›" - "»" - %" - %’ - "'"]
+  SP @-> ... NLout \/ NLout _ NLout [? - "”" - %" - "»" - "«" - "›" - %‹ - %’ - "'" - NLout]
 ] .o. [
   [WS|NL]+ @-> 0 || [ .#. | NLout ] _
 ];
