diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index aabf16b06d69d6f2c28e152319d1aa6fabc5e3ae..c47b063f2eb645d679b36e664e630d946ffa088b 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -16,6 +16,7 @@ Fixed
 * Phone numbers were not properly linked and suboptimally formatted on person page
 * Favicon upload failed with S3 storage.
 * Some combinations of allowed self-edit fields on persons could cause errors
+* Some preferences were required when they shouldn't, and vice versa.
 
 `2.6`_ - 2022-01-10
 -------------------
diff --git a/aleksis/core/preferences.py b/aleksis/core/preferences.py
index cb351100a5da31c4d5cffc2255542bc86f4a77c1..fe29f220f211616bf57d08c04e87a95b60c84365 100644
--- a/aleksis/core/preferences.py
+++ b/aleksis/core/preferences.py
@@ -40,8 +40,8 @@ class SiteTitle(StringPreference):
     section = general
     name = "title"
     default = "AlekSIS"
-    required = False
     verbose_name = _("Site title")
+    required = True
 
 
 @site_preferences_registry.register
@@ -62,9 +62,9 @@ class ColourPrimary(StringPreference):
     section = theme
     name = "primary"
     default = "#0d5eaf"
-    required = False
     verbose_name = _("Primary colour")
     widget = ColorWidget
+    required = True
 
 
 @site_preferences_registry.register
@@ -74,9 +74,9 @@ class ColourSecondary(StringPreference):
     section = theme
     name = "secondary"
     default = "#0d5eaf"
-    required = False
     verbose_name = _("Secondary colour")
     widget = ColorWidget
+    required = True
 
 
 @site_preferences_registry.register
@@ -87,6 +87,7 @@ class Logo(PublicFilePreferenceMixin, FilePreference):
     field_class = ImageField
     name = "logo"
     verbose_name = _("Logo")
+    required = False
 
 
 @site_preferences_registry.register
@@ -97,6 +98,7 @@ class Favicon(PublicFilePreferenceMixin, FilePreference):
     field_class = ImageField
     name = "favicon"
     verbose_name = _("Favicon")
+    required = False
 
 
 @site_preferences_registry.register
@@ -107,6 +109,7 @@ class PWAIcon(PublicFilePreferenceMixin, FilePreference):
     field_class = ImageField
     name = "pwa_icon"
     verbose_name = _("PWA-Icon")
+    required = False
 
 
 @site_preferences_registry.register
@@ -116,8 +119,8 @@ class MailOutName(StringPreference):
     section = mail
     name = "name"
     default = "AlekSIS"
-    required = False
     verbose_name = _("Mail out name")
+    required = True
 
 
 @site_preferences_registry.register
@@ -127,9 +130,9 @@ class MailOut(StringPreference):
     section = mail
     name = "address"
     default = settings.DEFAULT_FROM_EMAIL
-    required = False
     verbose_name = _("Mail out address")
     field_class = EmailField
+    required = True
 
 
 @site_preferences_registry.register
@@ -163,12 +166,12 @@ class AdressingNameFormat(ChoicePreference):
     section = notification
     name = "addressing_name_format"
     default = "first_last"
-    required = False
     verbose_name = _("Name format for addressing")
     choices = (
         ("first_last", "John Doe"),
         ("last_fist", "Doe, John"),
     )
+    required = True
 
 
 @person_preferences_registry.register
@@ -300,6 +303,7 @@ class OAuthAllowedGrants(MultipleChoicePreference):
     verbose_name = _("Allowed Grant Flows for OAuth applications")
     field_attribute = {"initial": []}
     choices = AbstractApplication.GRANT_TYPES
+    required = False
 
 
 @site_preferences_registry.register
@@ -313,6 +317,7 @@ class AvailableLanguages(MultipleChoicePreference):
     verbose_name = _("Available languages")
     field_attribute = {"initial": []}
     choices = settings.LANGUAGES
+    required = True
 
 
 @site_preferences_registry.register
@@ -376,6 +381,7 @@ class EditableFieldsPerson(MultipleChoicePreference):
     verbose_name = _("Fields on person model which are editable by themselves.")
     field_attribute = {"initial": []}
     choices = [(field.name, field.name) for field in Person.syncable_fields()]
+    required = False
 
 
 @site_preferences_registry.register
@@ -391,6 +397,7 @@ class SendNotificationOnPersonChange(MultipleChoicePreference):
     )
     field_attribute = {"initial": []}
     choices = [(field.name, field.name) for field in Person.syncable_fields()]
+    required = False
 
 
 @site_preferences_registry.register
@@ -401,6 +408,7 @@ class PersonChangeNotificationContact(StringPreference):
     name = "person_change_notification_contact"
     default = ""
     verbose_name = _("Contact for notification if a person changes their data")
+    required = False
 
 
 @site_preferences_registry.register