diff --git a/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html b/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
index 01edd746dcac923b8de452ad0852ac238ab71052..bc8c16f022b528cd666b3056d61317ad7fd297d8 100644
--- a/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
+++ b/aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html
@@ -1,4 +1,5 @@
-{% load i18n %}
+{% load i18n rules %}
+{% has_perm "alsijil.assign_grouprole_for_group" user group as can_assign_group_role %}
 <div class="collection">
   {% for role in roles %}
     <div class="collection-item">
@@ -6,7 +7,7 @@
         <div class="col s12 m5 l4 xl3 no-padding">
           {% if can_assign_group_role %}
             <a class="btn waves-effect waves-light right hide-on-med-and-up"
-               href="{% url "assign_group_role" group.pk role.pk %}">
+               href="{% url "assign_group_role" group.pk role.pk %}?next={{ back_url }}">
               <i class="material-icons center">add</i>
             </a>
           {% endif %}
@@ -19,7 +20,7 @@
         <div class="col s12 m7 l8 xl9 no-padding">
           {% if can_assign_group_role %}
             <a class="btn waves-effect waves-light right hide-on-small-only"
-               href="{% url "assign_group_role" group.pk role.pk %}">
+               href="{% url "assign_group_role" group.pk role.pk %}?next={{ back_url }}">
               <i class="material-icons center">add</i>
             </a>
           {% endif %}
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index f5b3faf4e003fd7c20abf45755f93a5713e82edb..678eac2929af9e2cb05c50b0b5f4843bc635aec5 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -968,14 +968,14 @@ class AssignedGroupRolesView(PermissionRequiredMixin, DetailView):
 
 
 @method_decorator(never_cache, name="dispatch")
-class AssignGroupRoleView(PermissionRequiredMixin, AdvancedCreateView):
+class AssignGroupRoleView(PermissionRequiredMixin, SuccessNextMixin, AdvancedCreateView):
     model = GroupRoleAssignment
     form_class = AssignGroupRoleForm
     permission_required = "alsijil.assign_grouprole_for_group"
     template_name = "alsijil/group_role/assign.html"
     success_message = _("The group role has been assigned.")
 
-    def get_success_url(self) -> str:
+    def get_default_success_url(self) -> str:
         return reverse("assigned_group_roles", args=[self.group.pk])
 
     def get_permission_object(self):