diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 2e7308ab04bcfb0e09b4e318067a4105406bd813..b9e72783fd5e6f64b5c4da0e384b0760ff0740df 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -28,6 +28,26 @@
 {% endblock %}
 
 {% block content %}
+  <div class="row">
+    <div class="col s12">
+      {% with prev_lesson=lesson_period.prev %}
+        <a class="btn-flat left waves-effect waves-light"
+           href="{% url "lesson_by_week_and_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
+          <i class="material-icons left">arrow_back</i>
+          {% trans "Previous lesson" %}
+        </a>
+      {% endwith %}
+
+      {% with next_lesson=lesson_period.next %}
+        <a class="btn-flat right waves-effect waves-light"
+           href="{% url "lesson_by_week_and_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
+          <i class="material-icons right">arrow_forward</i>
+          {% trans "Next lesson" %}
+        </a>
+      {% endwith %}
+    </div>
+  </div>
+
   <form method="post">
     <div class="row">
       <div class="col s12">
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index c006e190f1fd54a06cd30150e3db53a6670b219e..776037bd07a1e5446dbd8940e2d3087469115bf8 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -38,8 +38,8 @@ def lesson(
 
     if year and week and period_id:
         # Get a specific lesson period if provided in URL
-        lesson_period = LessonPeriod.objects.get(pk=period_id)
         wanted_week = CalendarWeek(year=year, week=week)
+        lesson_period = LessonPeriod.objects.annotate_week(wanted_week).get(pk=period_id)
     else:
         # Determine current lesson by current date and time
         lesson_period = (