diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index c03b9338b0d393ed0be2f0bf8bd40af5e20db897..92b73948b652ac4edc019f9e9c4e81e5d726f41e 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -283,6 +283,23 @@ class Person(ExtensibleModel):
             if force or not self.primary_group:
                 self.primary_group = self.member_of.filter(**{f"{field}__regex": pattern}).first()
 
+    def update_geolocation(self) -> None:
+    """ Update coordinates if postal address is given  """
+
+    if config.ENABLE_GEOLOCATION_OF_PERSONS:
+
+        # Get API key from settings
+        nominatim = OpenMapQuest(api_key=getattr(config, "MAPQUEST_API_KEY", None),
+                         user_agent="AlekSIS")
+
+        if self.full_address:
+            try:
+                location = nominatim.geocode(self.full_address)
+            except GeocoderServiceError:
+                location = None
+
+            if location:
+                self.latitude, self.longitude = location.latitude, location.longitude
 
 class DummyPerson(Person):
     """A dummy person that is not stored into the database.
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 197dfc3b8bd6ac72b273c02c77a63990913ea5cf..ad5d7077eba8bccb0981f70b2ea7fffce7c9474c 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -392,35 +392,6 @@ DYNAMIC_PREFERENCES = {
     "REGISTRY_MODULE": "preferences",
 }
 
-CONSTANCE_CONFIG = {
-    "SITE_TITLE": ("AlekSIS", _("Site title"), "char_field"),
-    "SITE_DESCRIPTION": ("The Free School Information System", _("Site description")),
-    "COLOUR_PRIMARY": ("#0d5eaf", _("Primary colour"), "colour_field"),
-    "COLOUR_SECONDARY": ("#0d5eaf", _("Secondary colour"), "colour_field"),
-    "MAIL_OUT_NAME": ("AlekSIS", _("Mail out name")),
-    "MAIL_OUT": (DEFAULT_FROM_EMAIL, _("Mail out address"), "email_field"),
-    "PRIVACY_URL": ("", _("Link to privacy policy"), "url_field"),
-    "IMPRINT_URL": ("", _("Link to imprint"), "url_field"),
-    "ADRESSING_NAME_FORMAT": ("german", _("Name format of adresses"), "adressing-select"),
-    "NOTIFICATION_CHANNELS": (["email"], _("Channels to allow for notifications"), "notifications-select"),
-    "PRIMARY_GROUP_PATTERN": ("", _("Regular expression to match primary group, e.g. '^Class .*'"), str),
-    "ENABLE_GEOLOCATION_OF_PERSONS": (False, _("Enable "), bool),
-    "MAPQUEST_API_KEY": ("", _("MAPQuest api key "), str),
-}
-CONSTANCE_CONFIG_FIELDSETS = {
-    "General settings": ("SITE_TITLE", "SITE_DESCRIPTION"),
-    "Theme settings": ("COLOUR_PRIMARY", "COLOUR_SECONDARY"),
-    "Mail settings": ("MAIL_OUT_NAME", "MAIL_OUT"),
-    "Notification settings": ("NOTIFICATION_CHANNELS", "ADRESSING_NAME_FORMAT"),
-    "Footer settings": ("PRIVACY_URL", "IMPRINT_URL"),
-    "Account settings": ("PRIMARY_GROUP_PATTERN",),
-    "Geolocation settings": ("ENABLE_GEOLOCATION_OF_PERSONS", "MAPQUEST_API_KEY"),
-}
-
-merge_app_settings("CONSTANCE_ADDITIONAL_FIELDS", CONSTANCE_ADDITIONAL_FIELDS, False)
-merge_app_settings("CONSTANCE_CONFIG", CONSTANCE_CONFIG, False)
-merge_app_settings("CONSTANCE_CONFIG_FIELDSETS", CONSTANCE_CONFIG_FIELDSETS, False)
-
 MAINTENANCE_MODE = _settings.get("maintenance.enabled", None)
 MAINTENANCE_MODE_IGNORE_IP_ADDRESSES = _settings.get(
     "maintenance.ignore_ips", _settings.get("maintenance.internal_ips", [])
diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index 785d4e6505455d653ec0586d33c7a2f0ab439ef3..484aec62c67f0db38dbc90a95fae141897d2a873 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -334,25 +334,6 @@ def now_tomorrow() -> datetime:
     return timezone.now() + timedelta(days=1)
 
 
-def update_geolocation(person) -> None:
-    """ Update coordinates if postal address is given  """
-
-    if config.ENABLE_GEOLOCATION_OF_PERSONS:
-
-        # Get API key from settings
-        nominatim = OpenMapQuest(api_key=getattr(config, "MAPQUEST_API_KEY", None),
-                         user_agent="AlekSIS")
-
-        if person.full_address:
-            try:
-                location = nominatim.geocode(person.full_address)
-            except GeocoderServiceError:
-                location = None
-
-            if location:
-                person.latitude, person.longitude = location.latitude, location.longitude
-
-
 def objectgetter_optional(
     model: Model, default: Optional[Any] = None, default_eval: bool = False
 ) -> Callable[[HttpRequest, Optional[int]], Model]: