diff --git a/SerialTable.h b/SerialTable.h
index 2893d52a15421c762198f8397749b885bd60b98c..4722f13e6817f715c1782e8b08887b9489450d65 100644
--- a/SerialTable.h
+++ b/SerialTable.h
@@ -248,6 +248,11 @@ public: // private: //public für UnitTests!
 
             currentLength++;
 
+            if (curr == '\n')
+            {
+                currentLength = 0;
+            }
+
             // Wenn die maximale Länge erreicht ist und das nächste Zeichen kein newline ist
             if (currentLength == L && i + 1 < len && input[i + 1] != '\n')
             {
diff --git a/UnitTests.h b/UnitTests.h
index b96973b6ef9f7ecc191d1b3a7fbadf3a2a9d1b10..e0e718efa660ba61994b140a21a0d4e7bc21b39d 100644
--- a/UnitTests.h
+++ b/UnitTests.h
@@ -2,7 +2,7 @@
 #include "SerialTable.h"
 using namespace aunit;
 
-test(SplitStringNoNewlines)
+test(splitString, SplitStringNoNewlines)
 {
     char input[] = "This is a test string";
     int length = 5;
@@ -27,7 +27,7 @@ test(SplitStringNoNewlines)
 }
 
 // Einzelner Testfall 2: Eingabe mit existierenden Zeilenumbrüchen
-test(SplitStringWithNewlines)
+test(splitString, SplitStringWithNewlines)
 {
     char input[] = "This\nis\na\ntest";
     int length = 4;
@@ -39,7 +39,7 @@ test(SplitStringWithNewlines)
 }
 
 // Einzelner Testfall 3: Länge größer als Eingabetext
-test(SplitStringLengthGreaterThanText)
+test(splitString, plitStringLengthGreaterThanText)
 {
     char input[] = "Short";
     int length = 10;
@@ -51,7 +51,7 @@ test(SplitStringLengthGreaterThanText)
 }
 
 // Einzelner Testfall 4: Genau passende Länge
-test(SplitStringExactLength)
+test(splitString, SplitStringExactLength)
 {
     char input[] = "Lengthy";
     int length = 7;
@@ -62,7 +62,7 @@ test(SplitStringExactLength)
 }
 
 // Einzelner Testfall 5: Länge von 1
-test(SplitStringLengthOfOne)
+test(splitString, SplitStringLengthOfOne)
 {
     char input[] = "One";
     int length = 1;
@@ -73,7 +73,7 @@ test(SplitStringLengthOfOne)
 }
 
 // Einzelner Testfall 6: Leerer Eingabestring
-test(SplitStringEmptyInput)
+test(splitString, SplitStringEmptyInput)
 {
     char input[] = "";
     int length = 5;
@@ -83,6 +83,18 @@ test(SplitStringEmptyInput)
     assertEqual(String(expectedOutput), String(actualOutput));
 }
 
+// Einzelner Testfall 7: Umbrüche in der Mitte der Zeichen
+test(splitString, SplitStringWithNewlinesInMiddle)
+{
+    char input[] = "This\nis\na\ntest";
+    int length = 3;
+    char expectedOutput[] = "Thi\ns\nis\na\ntes\nt";
+    char actualOutput[256] = {0};
+    SerialTable::splitStringByLength(input, length, actualOutput);
+    assertEqual(String(expectedOutput), String(actualOutput));
+}
+
+
 // Erstelle eine Hilfsfunktion für replaceUmlauts-Tests
 test(replaceUmlautsTest)
 {