diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 13e781bfb24e3dab3184aa0145dadde7dffd3987..94b8b8118d77afe98d53283b8375509a86d2c986 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -14,8 +14,8 @@
     <div class="row no-margin">
       <div class="col s12 no-padding">
         {# Back to week view #}
-        {% if lesson_documentation %}
-          <a href="{% url "week_view_by_week" lesson_documentation.calendar_week.year lesson_documentation.calendar_week.week "group" register_object.get_groups.all.0.pk %}"
+        {% if back_to_week_url %}
+          <a href="{{ back_to_week_url }}"
              class="btn primary-color waves-light waves-effect alsijil-top-button">
             <i class="material-icons left">chevron_left</i> {% trans "Back to week view" %}
           </a>
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
index 8c83accaf9b7cfc9e07a2b05c16961d3f959fd75..fa44199cb8609c753d38c01eebbfca9962639ed9 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
@@ -120,7 +120,7 @@
                           </td>
                           <td class="tr-link">
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% if register_object.period %}
                                 {{ register_object.period.period }}.
                               {% else %}
@@ -131,7 +131,7 @@
                           {% if not group %}
                             <td>
                               <a class="tr-link"
-                                 href="{{ register_object.alsijil_url }}">
+                                 href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                                 {% if register_object.lesson %}
                                   {{ register_object.lesson.group_names }}
                                 {% else %}
@@ -142,7 +142,7 @@
                           {% endif %}
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% if register_object.get_subject %}
                                 {{ register_object.get_subject.name }}
                               {% elif register_object.subject %}
@@ -154,25 +154,25 @@
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                                 {{ register_object.teacher_names }}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.topic "–" %}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.homework "–" %}
                             </a>
                           </td>
                           <td>
                             <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}">
+                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                               {% firstof register_object.get_lesson_documentation.group_note "–" %}
                             </a>
                           </td>
@@ -195,7 +195,7 @@
                         {% has_perm "alsijil.view_lessondocumentation" user register_object as can_view_lesson_documentation %}
                         {% if can_view_lesson_documentation %}
                           <a class="collection-item avatar"
-                             href="{{ register_object.alsijil_url }}">
+                             href="{{ register_object.alsijil_url }}?back={{ back_url }}">
                             {% include "alsijil/partials/lesson_status_icon.html" with register_object=register_object css_class="materialize-circle" color_suffix=" " %}
                             <table class="hide-on-med-and-down">
                               <tr>
@@ -278,7 +278,7 @@
                                   </li>
                                 {% endif %}
                                 <li class="collection-item">
-                                    {{ register_object.teacher_names }}
+                                  {{ register_object.teacher_names }}
                                 </li>
                                 <li class="collection-item">
                                   {{ register_object.get_lesson_documentation.topic }}
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index baa5ae24613d482dc975b7d99d111be6a3eda359..ebcea7fde528fd04ba78f34d2cf9f78eb9eed058 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -12,6 +12,7 @@ from django.shortcuts import get_object_or_404, redirect, render
 from django.urls import reverse, reverse_lazy
 from django.utils import timezone
 from django.utils.decorators import method_decorator
+from django.utils.http import url_has_allowed_host_and_scheme
 from django.utils.translation import ugettext as _
 from django.views import View
 from django.views.decorators.cache import never_cache
@@ -274,6 +275,22 @@ def register_object(
                     None, queryset=persons_qs, prefix="personal_notes"
                 )
 
+        back_url = request.GET.get("back", "")
+        back_url_is_safe = url_has_allowed_host_and_scheme(
+            url=back_url, allowed_hosts={request.get_host()}, require_https=request.is_secure(),
+        )
+        if back_url_is_safe:
+            context["back_to_week_url"] = back_url
+        else:
+            context["back_to_week_url"] = reverse(
+                "week_view_by_week",
+                args=[
+                    lesson_documentation.calendar_week.year,
+                    lesson_documentation.calendar_week.week,
+                    "group",
+                    register_object.get_groups().all()[0].pk,
+                ],
+            )
         context["lesson_documentation"] = lesson_documentation
         context["lesson_documentation_form"] = lesson_documentation_form
         context["personal_note_formset"] = personal_note_formset