diff --git a/timetabling/get-practical-groups.py b/timetabling/get-practical-groups.py
index 2ae4207cf170e4e26949fcd5857083737d0a6107..e04c6c41712c7a79c581206fb4b503b959b1788f 100644
--- a/timetabling/get-practical-groups.py
+++ b/timetabling/get-practical-groups.py
@@ -88,7 +88,7 @@ def batches(l, n):
         yield l[i:i+n]
 
 def update_form_data(response, form_data):
-    soup = BeautifulSoup(response.text, "lxml")
+    soup = BeautifulSoup(response.text, "html.parser")
 
     def update_field(field):
         vs = soup.find(id=field)
@@ -153,7 +153,7 @@ def get_timetable(students : Dict[str, Student]):
         form_data.update({ "__EVENTTARGET": "LinkBtn_studentset" })
         student_page = make_request(form_data, cookies)
 
-        soup = BeautifulSoup(student_page, "lxml")
+        soup = BeautifulSoup(student_page, "html.parser")
         dept_id = soup.find(id="dlFilter2") \
                     .find("option", string=department) \
                     .get("value")
@@ -168,7 +168,7 @@ def get_timetable(students : Dict[str, Student]):
         # Find the student TT names from their IDs
         dept_page = make_request(form_data, cookies)
 
-        soup = BeautifulSoup(dept_page, "lxml")
+        soup = BeautifulSoup(dept_page, "html.parser")
         search_ids = list()
 
         for option in soup.find(id="dlObject").find_all("option"):