diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 16d6c7d3e4c46ae17db133a981a17d965abe3da2..3b938941c7ec2891ab96253eafed6777bcc405fe 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -5,6 +5,7 @@ from urllib.parse import urlparse
 from django.db import models
 from django.db.models.constraints import CheckConstraint
 from django.db.models.query_utils import Q
+from django.urls import reverse
 from django.utils.formats import date_format
 from django.utils.translation import gettext_lazy as _
 
@@ -31,6 +32,7 @@ from aleksis.apps.alsijil.managers import (
 from aleksis.apps.chronos.managers import GroupPropertiesMixin
 from aleksis.apps.chronos.mixins import WeekRelatedMixin
 from aleksis.apps.chronos.models import Event, ExtraLesson, LessonPeriod, TimePeriod
+from aleksis.core.data_checks import field_validation_data_check_factory
 from aleksis.core.mixins import ExtensibleModel, GlobalPermissionModel
 from aleksis.core.models import SchoolTerm
 from aleksis.core.util.core_helpers import get_site_preferences
@@ -450,6 +452,8 @@ class ExtraMark(ExtensibleModel):
 
 
 class GroupRole(ExtensibleModel):
+    data_checks = [field_validation_data_check_factory("alsijil", "GroupRole", "icon")]
+
     objects = GroupRoleManager.from_queryset(GroupRoleQuerySet)()
 
     name = models.CharField(max_length=255, verbose_name=_("Name"))
@@ -467,6 +471,9 @@ class GroupRole(ExtensibleModel):
         ]
         permissions = (("assign_group_role", _("Can assign group role")),)
 
+    def get_absolute_url(self) -> str:
+        return reverse("edit_group_role", args=[self.id])
+
 
 class GroupRoleAssignment(GroupPropertiesMixin, ExtensibleModel):
     objects = GroupRoleAssignmentManager.from_queryset(GroupRoleAssignmentQuerySet)()
diff --git a/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html b/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html
index 530ffa05b531acd34bfa7726b374e56ee703298b..41e520302a9d3cac6b7f1d3e3b145c8c7692bde4 100644
--- a/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html
+++ b/aleksis/apps/alsijil/templates/alsijil/group_role/chip.html
@@ -1,7 +1,7 @@
 {# -*- engine:django -*- #}
 
 <div class="chip white-text" style="background-color: {{ role.colour|default:"black" }};">
-  <i class="material-icons left">{{ role.icon|default:"assignment_ind" }}</i>
+  <i class="material-icons iconify left" data-icon="mdi:{{ role.icon|default:"clipboard-account-outline" }}"></i>
   {{ role.name }}
   {% if small %}
     <small>({{ small }})</small>