diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 359632ffad5f0b001be1ed4d643919e07e852f60..c4d813269965c1639792d980c8a0312ee9c78c32 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,6 +9,12 @@ and this project adheres to `Semantic Versioning`_.
 Unreleased
 ----------
 
+Fixed
+~~~~~
+
+* Import failed sometimes if there were lessons with names.
+* Import failed if there was a lesson without a teacher.
+
 `2.3`_ - 2022-06-25
 -------------------
 
diff --git a/aleksis/apps/untis/tests/util/test_mysql_util.py b/aleksis/apps/untis/tests/util/test_mysql_util.py
index b9893df7d99222928ca34704d5a30cca7e79ebca..9a433919a29acdf0dbbab407ae3697c1a2404896 100644
--- a/aleksis/apps/untis/tests/util/test_mysql_util.py
+++ b/aleksis/apps/untis/tests/util/test_mysql_util.py
@@ -9,6 +9,8 @@ test_lesson_element = """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissensc
 test_lesson_element_partial = """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;"""
 test_lesson_element_partial_partial = ";11;12;13;14;15;16;17;"
 
+test_lesson_element_second = """46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~21700,45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0"""
+
 
 def test_untis_split_first():
     assert untis_split_first("") == []
@@ -20,8 +22,14 @@ def test_untis_split_first():
 
     assert len(untis_split_first(test_lesson_element)) == 2
     assert untis_split_first(test_lesson_element) == [
-        "~~n~~;11;12;13;14;15;16;17;",
-        "~~n~~;11;12;13;14;15;16;17;",
+        """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;""",
+        """49~0~302~7r;~0;~0~0~175608~~~~~"Freiraum: Naturwissenschaften, Fokus Physik"~"Nawi"~~n~~;11;12;13;14;15;16;17;""",
+    ]
+
+    assert len(untis_split_first(test_lesson_element_second)) == 2
+    assert untis_split_first(test_lesson_element_second) == [
+        """46~0~92~45;~45;~12~11~0~~B~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~21700""",
+        """45~0~92~45;~45;~0~0~19000~~~~~~~~n~~;18;~"Wp_Eb"~~34~0~67900~0~0~~0""",
     ]
 
 
diff --git a/aleksis/apps/untis/util/mysql/importers/lessons.py b/aleksis/apps/untis/util/mysql/importers/lessons.py
index 97e2279e91927fc0d03aad35b6a9bc7497d3e25e..7f73ef77caa71eb224b63eda31049022fd28c2f5 100644
--- a/aleksis/apps/untis/util/mysql/importers/lessons.py
+++ b/aleksis/apps/untis/util/mysql/importers/lessons.py
@@ -91,7 +91,7 @@ def import_lessons(
             logger.info("  Lesson part {}".format(i))
 
             # Get plain ids
-            teacher_id = int(el[0])
+            teacher_id = int(el[0]) if el[0] else 0
             subject_id = int(el[2])
             class_ids = untis_split_third(el[17], conv=int)
 
diff --git a/aleksis/apps/untis/util/mysql/util.py b/aleksis/apps/untis/util/mysql/util.py
index 063894fd151046e7fbef1f290332a0c022723b0d..439b54cf19d840d831c2d2c676de01c0c17d6532 100644
--- a/aleksis/apps/untis/util/mysql/util.py
+++ b/aleksis/apps/untis/util/mysql/util.py
@@ -112,7 +112,7 @@ def untis_split_first(
     s: str, conv: Callable[[Any], Any] = lambda el: el, remove_empty: bool = True
 ) -> Sequence:
     return clean_array(
-        re.findall(r"(\"[^\"]+\"|[^,\"]+)*,?", s)[:-1], conv=conv, remove_empty=remove_empty
+        re.findall(r"((?:\"[^\"]+\"|[^,\"]+)*),?", s)[:-1], conv=conv, remove_empty=remove_empty
     )