diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index d48ce2bcbdc923014435cd9bcbfa6d775c3ffdde..aada1332bf9e537828a075b138de3edf4acf5c08 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -16,6 +16,12 @@ Fixed
 * Set a fixed version for django-sass-processor to avoid a bug with searching ``style.css`` in the wrong storage.
 * Correct the z-index of the navbar to display the main title again on mobile devices.
 
+Removed
+~~~~~~~
+
+* Leftovers from a functionality already dropped in the development process
+  (custom authentication backends and alternative login views).
+
 `2.0rc6`_ - 2021-10-11
 ----------------------
 
diff --git a/aleksis/core/preferences.py b/aleksis/core/preferences.py
index 588992f60d4e396450b05fc7d4a9e2978f196a45..6faaadf7dc93ad182fc48325a34a2b94f9eab392 100644
--- a/aleksis/core/preferences.py
+++ b/aleksis/core/preferences.py
@@ -246,20 +246,6 @@ class SchoolNameOfficial(StringPreference):
     verbose_name = _("Official name of the school, e.g. as given by supervisory authority")
 
 
-@site_preferences_registry.register
-class AuthenticationBackends(MultipleChoicePreference):
-    """Authentication backends of your AlekSIS instance."""
-
-    section = auth
-    name = "backends"
-    default = None
-    verbose_name = _("Enabled custom authentication backends")
-    field_attribute = {"initial": []}
-
-    def get_choices(self):
-        return [(b, b) for b in settings.CUSTOM_AUTHENTICATION_BACKENDS]
-
-
 @site_preferences_registry.register
 class AllowPasswordChange(BooleanPreference):
     section = auth
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 25fe9257282488bbcd3948ed5c3f7e6d8bee771b..e885be31f7a588d78d5236ad41ecd5d7f05404a0 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -438,9 +438,6 @@ if _settings.get("ldap.uri", None):
                 "is_superuser"
             ]
 
-CUSTOM_AUTHENTICATION_BACKENDS = []
-merge_app_settings("AUTHENTICATION_BACKENDS", CUSTOM_AUTHENTICATION_BACKENDS)
-
 # Add ModelBckend last so all other backends get a chance
 # to verify passwords first
 AUTHENTICATION_BACKENDS.append("django.contrib.auth.backends.ModelBackend")
@@ -448,10 +445,6 @@ AUTHENTICATION_BACKENDS.append("django.contrib.auth.backends.ModelBackend")
 # Authentication backend for django-allauth.
 AUTHENTICATION_BACKENDS.append("allauth.account.auth_backends.AuthenticationBackend")
 
-# Structure of items: backend, URL name, icon name, button title
-ALTERNATIVE_LOGIN_VIEWS = []
-merge_app_settings("ALTERNATIVE_LOGIN_VIEWS", ALTERNATIVE_LOGIN_VIEWS, True)
-
 # Internationalization
 # https://docs.djangoproject.com/en/2.1/topics/i18n/
 
diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index c7b4b591e662dd0ae15384a5b8028539033359fb..2c40caf51d41045685a74b67800cc9575d3cf2de 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -210,14 +210,6 @@ def custom_information_processor(request: HttpRequest) -> dict:
 
     return {
         "FOOTER_MENU": CustomMenu.get_default("footer"),
-        "ALTERNATIVE_LOGIN_VIEWS_LIST": [
-            a[0]
-            for a in settings.ALTERNATIVE_LOGIN_VIEWS
-            if a[0] in settings.AUTHENTICATION_BACKENDS
-        ],
-        "ALTERNATIVE_LOGIN_VIEWS": [
-            a for a in settings.ALTERNATIVE_LOGIN_VIEWS if a[0] in settings.AUTHENTICATION_BACKENDS
-        ],
         "ADMINS": settings.ADMINS,
         "PWA_ICONS": regrouped_pwa_icons,
     }