diff --git a/tests/models/test_services.py b/tests/models/test_services.py
index d6836b5f7d3d8dfbb329d639b29415e7491ee374..2e411c9d8366a5db8d19624b84ce6e9e57a91257 100644
--- a/tests/models/test_services.py
+++ b/tests/models/test_services.py
@@ -10,7 +10,7 @@ from tests.utils import UffdTestCase
 class TestServiceUser(UffdTestCase):
 	def setUp(self):
 		super().setUp()
-		db.session.add_all([Service(name='service1'), Service(name='service2', remailer_mode=RemailerMode.ENABLED_V1)])
+		db.session.add_all([Service(name='service1', limit_access=False), Service(name='service2', remailer_mode=RemailerMode.ENABLED_V1, limit_access=False)])
 		db.session.commit()
 
 	def test_auto_create(self):
@@ -79,6 +79,12 @@ class TestServiceUser(UffdTestCase):
 		self.assertEqual(service_user.real_email, user.primary_email.address)
 		service.enable_email_preferences = True
 		self.assertEqual(service_user.real_email, service_user.service_email.address)
+		service.limit_access = True
+		self.assertEqual(service_user.real_email, user.primary_email.address)
+		service.access_group = self.get_admin_group()
+		self.assertEqual(service_user.real_email, user.primary_email.address)
+		service.access_group = self.get_users_group()
+		self.assertEqual(service_user.real_email, service_user.service_email.address)
 
 	def test_get_by_remailer_email(self):
 		user = self.get_user()
@@ -158,6 +164,8 @@ class TestServiceUser(UffdTestCase):
 			[RemailerMode.DISABLED, RemailerMode.ENABLED_V1, RemailerMode.ENABLED_V2],
 			# service.enable_email_preferences
 			[True, False],
+			# service.limit_access, service.access_group
+			[(False, None), (True, None), (True, self.get_admin_group()), (True, self.get_users_group())],
 			# service_user.service_email
 			[None, email1, email2],
 			# service_user.remailer_overwrite_mode
@@ -169,8 +177,9 @@ class TestServiceUser(UffdTestCase):
 			self.app.config['REMAILER_LIMIT_TO_USERS'] = options[2]
 			service.remailer_mode = options[3]
 			service.enable_email_preferences = options[4]
-			service_user.service_email = options[5]
-			service_user.remailer_overwrite_mode = options[6]
+			service.limit_access, service.access_group = options[5]
+			service_user.service_email = options[6]
+			service_user.remailer_overwrite_mode = options[7]
 			a = {result for result in all_service_users if result.email == value}
 			b = set(ServiceUser.filter_query_by_email(ServiceUser.query, value).all())
 			if a != b:
diff --git a/tests/views/test_selfservice.py b/tests/views/test_selfservice.py
index 5bf3e8f46e1693520c6704dccba4f4910bc45639..1b598aa92ac57e06b9be460e01821e89a40868f5 100644
--- a/tests/views/test_selfservice.py
+++ b/tests/views/test_selfservice.py
@@ -200,7 +200,7 @@ class TestSelfservice(UffdTestCase):
 		user_id = self.get_user().id
 		email = UserEmail(user=self.get_user(), address='new@example.com', verified=True)
 		db.session.add(email)
-		service = Service(name='service', enable_email_preferences=True)
+		service = Service(name='service', enable_email_preferences=True, limit_access=False)
 		db.session.add(service)
 		db.session.commit()
 		email_id = email.id
@@ -235,7 +235,7 @@ class TestSelfservice(UffdTestCase):
 		user_id = self.get_user().id
 		email = UserEmail(user=self.get_user(), address='new@example.com')
 		db.session.add(email)
-		service = Service(name='service', enable_email_preferences=True)
+		service = Service(name='service', enable_email_preferences=True, limit_access=False)
 		db.session.add(service)
 		db.session.commit()
 		email_id = email.id
@@ -262,7 +262,7 @@ class TestSelfservice(UffdTestCase):
 		user_id = self.get_user().id
 		email = UserEmail(user=self.get_user(), address='new@example.com', verified=True)
 		db.session.add(email)
-		service = Service(name='service', enable_email_preferences=True)
+		service = Service(name='service', enable_email_preferences=True, limit_access=False)
 		db.session.add(service)
 		db.session.commit()
 		with self.assertRaises(Exception):
diff --git a/tests/views/test_user.py b/tests/views/test_user.py
index e51d305f0eafba27d790978c7f22a671b76d0741..a024b53d6c79322c427108feda3953be778af98c 100644
--- a/tests/views/test_user.py
+++ b/tests/views/test_user.py
@@ -220,8 +220,8 @@ class TestUserViews(UffdTestCase):
 	def test_update_email(self):
 		user = self.get_user()
 		email = UserEmail(user=user, address='foo@example.com')
-		service1 = Service(name='service1', enable_email_preferences=True)
-		service2 = Service(name='service2', enable_email_preferences=True)
+		service1 = Service(name='service1', enable_email_preferences=True, limit_access=False)
+		service2 = Service(name='service2', enable_email_preferences=True, limit_access=False)
 		db.session.add_all([service1, service2])
 		db.session.commit()
 		email1_id = user.primary_email.id
@@ -276,8 +276,8 @@ class TestUserViews(UffdTestCase):
 		db.session.commit()
 		user = self.get_user()
 		email = UserEmail(user=user, address='foo@example.com')
-		service1 = Service(name='service1', enable_email_preferences=True)
-		service2 = Service(name='service2', enable_email_preferences=True)
+		service1 = Service(name='service1', enable_email_preferences=True, limit_access=False)
+		service2 = Service(name='service2', enable_email_preferences=True, limit_access=False)
 		db.session.add_all([service1, service2])
 		db.session.commit()
 		email1_id = user.primary_email.id
diff --git a/uffd/models/service.py b/uffd/models/service.py
index 2143e6740fd119d39698bd465438ead46e23fb6d..ff31419bc276b07850ce5c619f4e4f6c24380668 100644
--- a/uffd/models/service.py
+++ b/uffd/models/service.py
@@ -8,7 +8,7 @@ from sqlalchemy.orm import relationship, validates
 from uffd.database import db
 from uffd.remailer import remailer
 from uffd.tasks import cleanup_task
-from .user import User, UserEmail
+from .user import User, UserEmail, user_groups
 
 class RemailerMode(enum.Enum):
 	DISABLED = 0
@@ -58,6 +58,10 @@ class ServiceUser(db.Model):
 	def has_access(self):
 		return not self.service.limit_access or self.service.access_group in self.user.groups
 
+	@property
+	def has_email_preferences(self):
+		return self.has_access and self.service.enable_email_preferences
+
 	remailer_overwrite_mode = Column(Enum(RemailerMode), default=None, nullable=True)
 
 	@property
@@ -88,7 +92,7 @@ class ServiceUser(db.Model):
 	# Actual e-mail address that mails from the service are sent to
 	@property
 	def real_email(self):
-		if self.service.enable_email_preferences and self.service_email:
+		if self.has_email_preferences and self.service_email:
 			return self.service_email.address
 		return self.user.primary_email.address
 
@@ -124,6 +128,7 @@ class ServiceUser(db.Model):
 		AliasedPrimaryEmail = db.aliased(UserEmail)
 		AliasedServiceEmail = db.aliased(UserEmail)
 		AliasedService = db.aliased(Service)
+		aliased_user_groups = db.aliased(user_groups)
 
 		query = query.join(cls.user.of_type(AliasedUser))
 		query = query.join(AliasedUser.primary_email.of_type(AliasedPrimaryEmail))
@@ -142,10 +147,21 @@ class ServiceUser(db.Model):
 			],
 			else_=(AliasedService.remailer_mode != RemailerMode.DISABLED)
 		)
+		has_access = db.or_(
+			db.not_(AliasedService.limit_access),
+			db.exists().where(db.and_(
+				aliased_user_groups.c.user_id == AliasedUser.id,
+				aliased_user_groups.c.group_id == AliasedService.access_group_id,
+			))
+		)
+		has_email_preferences = db.and_(
+			has_access,
+			AliasedService.enable_email_preferences,
+		)
 		real_email_matches = db.case(
 			whens=[
 				# pylint: disable=singleton-comparison
-				(db.and_(AliasedService.enable_email_preferences, cls.service_email != None), AliasedServiceEmail.address == email),
+				(db.and_(has_email_preferences, cls.service_email != None), AliasedServiceEmail.address == email),
 			],
 			else_=(AliasedPrimaryEmail.address == email)
 		)
diff --git a/uffd/templates/selfservice/self.html b/uffd/templates/selfservice/self.html
index 6fcb2ed215602a6497fc92465020e731dca12b08..6e032d5b1b67c1a38fbdebbcc82209ccac0fdc0d 100644
--- a/uffd/templates/selfservice/self.html
+++ b/uffd/templates/selfservice/self.html
@@ -74,12 +74,14 @@
 
 <hr>
 
+{% set service_users_with_email_prefs = user.service_users|selectattr('has_email_preferences')|list %}
+{% set collapse_email_prefs = service_users_with_email_prefs|length > 2 %}
 <div class="row">
 	<div class="col-12 col-md-5">
 		<h5>{{_("E-Mail Preferences")}}</h5>
 		<p>
 			{{ _("Choose your primary e-mail address and the address password recovery e-mails will be sent to.") }}
-			{% if user.service_users|map(attribute='service')|selectattr('enable_email_preferences')|list|length %}
+			{% if service_users_with_email_prefs %}
 			{{ _("You can also select different addresses for different services.") }}
 			{% endif %}
 		</p>
@@ -104,8 +106,7 @@
 					{% endfor %}
 				</select>
 			</div>
-			{% set collapse_email_prefs = user.service_users|map(attribute='service')|selectattr('enable_email_preferences')|list|length > 2 %}
-			{% for service_user in user.service_users if service_user.service.enable_email_preferences %}
+			{% for service_user in service_users_with_email_prefs %}
 			{% if collapse_email_prefs and loop.index == 2 %}
 			<div id="collapsed-email-prefs">
 			{% endif %}
diff --git a/uffd/templates/service/show.html b/uffd/templates/service/show.html
index 5277fa41751cfbc4fce96f2174ad05767ff652d5..08d03ba01e0607d68e7ebcac95a29b3b528581c1 100644
--- a/uffd/templates/service/show.html
+++ b/uffd/templates/service/show.html
@@ -31,6 +31,16 @@
 			</select>
 		</div>
 
+		<div class="form-group col">
+			<div class="form-check">
+				<input class="form-check-input" type="checkbox" id="service-enable-email-preferences" name="enable_email_preferences" value="1" aria-label="enabled" {{ 'checked' if service.enable_email_preferences }}>
+				<label class="form-check-label" for="service-enable-email-preferences">{{ _('Allow users with access to select a different e-mail address for this service') }}</label>
+			<small class="form-text text-muted">
+				{{ _('If disabled, the service always uses the primary e-mail address.') }}
+			</small>
+			</div>
+		</div>
+
 		<div class="form-group col">
 			<label for="remailer-mode">
 				{{ _('Hide e-mail addresses with remailer') }}
@@ -78,16 +88,6 @@
 			</small>
 		</div>
 
-		<div class="form-group col">
-			<div class="form-check">
-				<input class="form-check-input" type="checkbox" id="service-enable-email-preferences" name="enable_email_preferences" value="1" aria-label="enabled" {{ 'checked' if service.enable_email_preferences }}>
-				<label class="form-check-label" for="service-enable-email-preferences">{{ _('Allow users to select a different e-mail address for this service') }}</label>
-			<small class="form-text text-muted">
-				{{ _('If disabled, the service always uses the primary e-mail address.') }}
-			</small>
-			</div>
-		</div>
-
 	</form>
 
 	{% if service.id %}
diff --git a/uffd/templates/user/show.html b/uffd/templates/user/show.html
index bc22d8e54c5d83242b39e0ec8c7a602fd1096dd0..7a4f265d47fd940ef7067c56be836cf2f8a9ad13 100644
--- a/uffd/templates/user/show.html
+++ b/uffd/templates/user/show.html
@@ -146,7 +146,7 @@
 					{% endfor %}
 				</select>
 			</div>
-			{% for service_user in user.service_users if service_user.service.enable_email_preferences %}
+			{% for service_user in user.service_users if service_user.has_email_preferences %}
 			<div class="form-group col">
 				<label>{{ _("Address for %(name)s", name=service_user.service.name) }}</label>
 				<select name="service_{{ service_user.service.id }}_email" class="form-control">
diff --git a/uffd/translations/de/LC_MESSAGES/messages.mo b/uffd/translations/de/LC_MESSAGES/messages.mo
index 0897f2eba472b656935ffde9314eb66162e0fef2..18d96bb2f77e2483e726cbbf418892af96e7fd69 100644
Binary files a/uffd/translations/de/LC_MESSAGES/messages.mo and b/uffd/translations/de/LC_MESSAGES/messages.mo differ
diff --git a/uffd/translations/de/LC_MESSAGES/messages.po b/uffd/translations/de/LC_MESSAGES/messages.po
index 5738094ae9a4f4e90d9b1e17bf21e6891a065aa0..667d221f4a330cd57d28e0d83f184245fa7470c5 100644
--- a/uffd/translations/de/LC_MESSAGES/messages.po
+++ b/uffd/translations/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2022-11-06 01:46+0100\n"
+"POT-Creation-Date: 2022-11-08 20:12+0100\n"
 "PO-Revision-Date: 2021-05-25 21:18+0200\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language: de\n"
@@ -160,7 +160,7 @@ msgstr "GID"
 #: uffd/templates/mfa/setup.html:157 uffd/templates/mfa/setup.html:158
 #: uffd/templates/mfa/setup.html:169 uffd/templates/role/list.html:14
 #: uffd/templates/rolemod/list.html:9 uffd/templates/rolemod/show.html:44
-#: uffd/templates/selfservice/self.html:189
+#: uffd/templates/selfservice/self.html:190
 #: uffd/templates/service/index.html:14 uffd/templates/service/show.html:20
 #: uffd/templates/service/show.html:133 uffd/templates/user/show.html:193
 #: uffd/templates/user/show.html:225
@@ -170,7 +170,7 @@ msgstr "Name"
 #: uffd/templates/group/list.html:16 uffd/templates/group/show.html:33
 #: uffd/templates/invite/new.html:36 uffd/templates/role/list.html:15
 #: uffd/templates/role/show.html:48 uffd/templates/rolemod/list.html:10
-#: uffd/templates/rolemod/show.html:26 uffd/templates/selfservice/self.html:190
+#: uffd/templates/rolemod/show.html:26 uffd/templates/selfservice/self.html:191
 #: uffd/templates/user/show.html:194 uffd/templates/user/show.html:226
 msgid "Description"
 msgstr "Beschreibung"
@@ -195,7 +195,7 @@ msgstr "Abbrechen"
 
 #: uffd/templates/group/show.html:11 uffd/templates/role/show.html:19
 #: uffd/templates/role/show.html:21 uffd/templates/selfservice/self.html:61
-#: uffd/templates/selfservice/self.html:204 uffd/templates/service/api.html:11
+#: uffd/templates/selfservice/self.html:205 uffd/templates/service/api.html:11
 #: uffd/templates/service/oauth2.html:11 uffd/templates/service/show.html:12
 #: uffd/templates/user/show.html:29 uffd/templates/user/show.html:181
 msgid "Are you sure?"
@@ -459,7 +459,7 @@ msgstr ""
 msgid "One address per line"
 msgstr "Eine Adresse pro Zeile"
 
-#: uffd/templates/mfa/auth.html:6 uffd/templates/selfservice/self.html:158
+#: uffd/templates/mfa/auth.html:6 uffd/templates/selfservice/self.html:159
 #: uffd/templates/user/show.html:176
 msgid "Two-Factor Authentication"
 msgstr "Zwei-Faktor-Authentifizierung"
@@ -567,11 +567,11 @@ msgstr ""
 msgid "Disable two-factor authentication"
 msgstr "Zwei-Faktor-Authentifizierung (2FA) deaktivieren"
 
-#: uffd/templates/mfa/setup.html:18 uffd/templates/selfservice/self.html:164
+#: uffd/templates/mfa/setup.html:18 uffd/templates/selfservice/self.html:165
 msgid "Two-factor authentication is currently <strong>enabled</strong>."
 msgstr "Die Zwei-Faktor-Authentifizierung ist derzeit <strong>aktiviert</strong>."
 
-#: uffd/templates/mfa/setup.html:20 uffd/templates/selfservice/self.html:166
+#: uffd/templates/mfa/setup.html:20 uffd/templates/selfservice/self.html:167
 msgid "Two-factor authentication is currently <strong>disabled</strong>."
 msgstr ""
 "Die Zwei-Faktor-Authentifizierung ist derzeit "
@@ -1059,11 +1059,11 @@ msgstr "Primäre E-Mail-Adresse kann nicht gelöscht werden"
 msgid "Retry verification"
 msgstr "Bestätigungslink neusenden"
 
-#: uffd/templates/selfservice/self.html:79
+#: uffd/templates/selfservice/self.html:81
 msgid "E-Mail Preferences"
 msgstr "E-Mail-Einstellungen"
 
-#: uffd/templates/selfservice/self.html:81
+#: uffd/templates/selfservice/self.html:83
 msgid ""
 "Choose your primary e-mail address and the address password recovery "
 "e-mails will be sent to."
@@ -1071,50 +1071,50 @@ msgstr ""
 "Wähle deine primäre Adresse und die Adresse für Passwort-"
 "Zurücksetzen-E-Mails aus."
 
-#: uffd/templates/selfservice/self.html:83
+#: uffd/templates/selfservice/self.html:85
 msgid "You can also select different addresses for different services."
 msgstr ""
 "Du kannst für unterschiedliche Dienste unterschiedliche Adressen "
 "verwenden."
 
-#: uffd/templates/selfservice/self.html:86
+#: uffd/templates/selfservice/self.html:88
 msgid "Adresses must be verified before you can select them here."
 msgstr "Adressen müssen bestätigt sein, damit du sie hier auswählen kannst."
 
-#: uffd/templates/selfservice/self.html:91
+#: uffd/templates/selfservice/self.html:93
 msgid "Primary Address"
 msgstr "Primäre Adresse"
 
-#: uffd/templates/selfservice/self.html:99
+#: uffd/templates/selfservice/self.html:101
 msgid "Address for Password Reset E-Mails"
 msgstr "Adresse für Passwort-Zurücksetzen-E-Mails"
 
-#: uffd/templates/selfservice/self.html:101
-#: uffd/templates/selfservice/self.html:115 uffd/templates/user/show.html:143
+#: uffd/templates/selfservice/self.html:103
+#: uffd/templates/selfservice/self.html:116 uffd/templates/user/show.html:143
 #: uffd/templates/user/show.html:153
 msgid "Use primary address"
 msgstr "Primäre Adresse verwenden"
 
-#: uffd/templates/selfservice/self.html:113
+#: uffd/templates/selfservice/self.html:114
 #, python-format
 msgid "Address for Service \"%(name)s\""
 msgstr "Adresse für Dienst „%(name)s“"
 
-#: uffd/templates/selfservice/self.html:124
+#: uffd/templates/selfservice/self.html:125
 msgid "Show more settings ..."
 msgstr "Weitere Einstellungen anzeigen ..."
 
-#: uffd/templates/selfservice/self.html:126
+#: uffd/templates/selfservice/self.html:127
 msgid "Update E-Mail Preferences"
 msgstr "E-Mail-Einstellungen speichern"
 
-#: uffd/templates/selfservice/self.html:135
+#: uffd/templates/selfservice/self.html:136
 #: uffd/templates/session/login.html:16 uffd/templates/signup/start.html:36
 #: uffd/templates/user/show.html:163
 msgid "Password"
 msgstr "Passwort"
 
-#: uffd/templates/selfservice/self.html:136
+#: uffd/templates/selfservice/self.html:137
 msgid ""
 "Your login password for the Single-Sign-On. Only enter it on the Single-"
 "Sign-On login page! No other legit websites will ask you for this "
@@ -1125,22 +1125,22 @@ msgstr ""
 " Webseite wird dich nach diesem Passwort fragen. Es wird auch niemals für"
 " Support-Anfragen benötigt."
 
-#: uffd/templates/selfservice/self.html:141
+#: uffd/templates/selfservice/self.html:142
 #: uffd/templates/selfservice/set_password.html:9
 msgid "New Password"
 msgstr "Neues Passwort"
 
-#: uffd/templates/selfservice/self.html:147
+#: uffd/templates/selfservice/self.html:148
 #: uffd/templates/selfservice/set_password.html:16
 #: uffd/templates/signup/start.html:43
 msgid "Repeat Password"
 msgstr "Passwort wiederholen"
 
-#: uffd/templates/selfservice/self.html:149
+#: uffd/templates/selfservice/self.html:150
 msgid "Change Password"
 msgstr "Passwort ändern"
 
-#: uffd/templates/selfservice/self.html:159
+#: uffd/templates/selfservice/self.html:160
 msgid ""
 "Setting up Two-Factor Authentication (2FA) adds an additional step to the"
 " Single-Sign-On login and increases the security of your account "
@@ -1150,17 +1150,17 @@ msgstr ""
 "Anmeldung im Single-Sign-On hinzu und verbessert damit die Sicherheit "
 "deines Accounts erheblich."
 
-#: uffd/templates/selfservice/self.html:169
+#: uffd/templates/selfservice/self.html:170
 msgid "Manage two-factor authentication"
 msgstr "Zwei-Faktor-Authentifizierung (2FA) verwalten"
 
-#: uffd/templates/selfservice/self.html:177 uffd/templates/user/list.html:20
+#: uffd/templates/selfservice/self.html:178 uffd/templates/user/list.html:20
 #: uffd/templates/user/show.html:39 uffd/templates/user/show.html:188
 #: uffd/views/role.py:21
 msgid "Roles"
 msgstr "Rollen"
 
-#: uffd/templates/selfservice/self.html:178
+#: uffd/templates/selfservice/self.html:179
 msgid ""
 "Aside from a set of base permissions, your roles determine the "
 "permissions of your account."
@@ -1168,7 +1168,7 @@ msgstr ""
 "Deine Berechtigungen werden, von einigen Basis-Berechtigungen abgesehen, "
 "von deinen Rollen bestimmt"
 
-#: uffd/templates/selfservice/self.html:180
+#: uffd/templates/selfservice/self.html:181
 #, python-format
 msgid ""
 "See <a href=\"%(services_url)s\">Services</a> for an overview of your "
@@ -1177,13 +1177,13 @@ msgstr ""
 "Auf <a href=\"%(services_url)s\">Dienste</a> erhälst du einen Überblick "
 "über deine aktuellen Berechtigungen."
 
-#: uffd/templates/selfservice/self.html:184
+#: uffd/templates/selfservice/self.html:185
 msgid "Administrators and role moderators can invite you to new roles."
 msgstr ""
 "Accounts mit Adminrechten oder Rollen-Moderationsrechten können dich zu "
 "Rollen einladen."
 
-#: uffd/templates/selfservice/self.html:199
+#: uffd/templates/selfservice/self.html:200
 msgid ""
 "Some permissions in this role require you to setup two-factor "
 "authentication"
@@ -1191,11 +1191,11 @@ msgstr ""
 "Einige Berechtigungen dieser Rolle erfordern das Einrichten von Zwei-"
 "Faktor-Authentifikation"
 
-#: uffd/templates/selfservice/self.html:205
+#: uffd/templates/selfservice/self.html:206
 msgid "Leave"
 msgstr "Verlassen"
 
-#: uffd/templates/selfservice/self.html:212
+#: uffd/templates/selfservice/self.html:213
 msgid "You currently don't have any roles"
 msgstr "Du hast derzeit keine Rollen"
 
@@ -1231,7 +1231,7 @@ msgstr "Zugriff auf Mail-Weiterleitungen"
 msgid "Resolve remailer addresses"
 msgstr "Auflösen von Remailer-Adressen"
 
-#: uffd/templates/service/api.html:51 uffd/templates/service/show.html:38
+#: uffd/templates/service/api.html:51 uffd/templates/service/show.html:48
 msgid "This option has no effect: Remailer config options are unset"
 msgstr "Diese Option hat keine Auswirkung: Remailer ist nicht konfiguriert"
 
@@ -1308,25 +1308,37 @@ msgstr "Alle Account haben Zugriff (veraltet)"
 msgid "Members of group \"%(group_name)s\" have access"
 msgstr "Mitglieder der Gruppe \"%(group_name)s\" haben Zugriff"
 
-#: uffd/templates/service/show.html:36
+#: uffd/templates/service/show.html:37
+msgid ""
+"Allow users with access to select a different e-mail address for this "
+"service"
+msgstr ""
+"Ermögliche Nutzern mit Zugriff auf diesen Dienst eine andere E-Mail-"
+"Adresse auszuwählen"
+
+#: uffd/templates/service/show.html:39
+msgid "If disabled, the service always uses the primary e-mail address."
+msgstr "Wenn deaktiviert, wird immer die primäre E-Mail-Adresse verwendet."
+
+#: uffd/templates/service/show.html:46
 msgid "Hide e-mail addresses with remailer"
 msgstr "E-Mail-Adressen mit Remailer verstecken"
 
-#: uffd/templates/service/show.html:43 uffd/templates/service/show.html:66
+#: uffd/templates/service/show.html:53 uffd/templates/service/show.html:76
 msgid "Remailer disabled"
 msgstr "Remailer deaktiviert"
 
-#: uffd/templates/service/show.html:46 uffd/templates/service/show.html:69
+#: uffd/templates/service/show.html:56 uffd/templates/service/show.html:79
 msgid "Remailer enabled"
 msgstr "Remailer aktiviert"
 
-#: uffd/templates/service/show.html:49 uffd/templates/service/show.html:72
+#: uffd/templates/service/show.html:59 uffd/templates/service/show.html:82
 msgid "Remailer enabled (deprecated, case-sensitive format)"
 msgstr ""
 "Remailer aktiviert (veraltetes, Groß-/Kleinschreibung-unterscheidendes "
 "Format)"
 
-#: uffd/templates/service/show.html:53
+#: uffd/templates/service/show.html:63
 msgid ""
 "Some services notify users about changes to their e-mail address. "
 "Modifying this setting immediatly affects the e-mail addresses of all "
@@ -1337,15 +1349,15 @@ msgstr ""
 "-Mail-Adressen aller Nutzer aus und kann zu massenhaftem Versand von "
 "Benachrichtigungs-E-Mails führen."
 
-#: uffd/templates/service/show.html:59
+#: uffd/templates/service/show.html:69
 msgid "Overwrite remailer setting for specific users"
 msgstr "Überschreibe Remailer-Einstellung für ausgewählte Nutzer"
 
-#: uffd/templates/service/show.html:62
+#: uffd/templates/service/show.html:72
 msgid "Login names"
 msgstr "Anmeldenamen"
 
-#: uffd/templates/service/show.html:77
+#: uffd/templates/service/show.html:87
 msgid ""
 "Useful for testing remailer before enabling it for all users. Specify "
 "users as a comma-seperated list of login names."
@@ -1353,16 +1365,6 @@ msgstr ""
 "Hilfreich zum Testen des Remailers vor dem Aktivieren für alle Nutzer. Um"
 " Nutzer auszuwählen, liste ihre Anmeldenamen mit Komma getrennt auf."
 
-#: uffd/templates/service/show.html:84
-msgid "Allow users to select a different e-mail address for this service"
-msgstr ""
-"Ermögliche Nutzern für diesen Dienst eine andere E-Mail-Adresse "
-"auszuwählen"
-
-#: uffd/templates/service/show.html:86
-msgid "If disabled, the service always uses the primary e-mail address."
-msgstr "Wenn deaktiviert, wird immer die primäre E-Mail-Adresse verwendet."
-
 #: uffd/templates/session/deviceauth.html:15
 msgid "Log into a service on another device without entering your password."
 msgstr ""
diff --git a/uffd/views/selfservice.py b/uffd/views/selfservice.py
index b4cbd4c826a061d6c995041fae56485fa836b352..3459d01adafaa0f1ce5fd43cc91d022e0011ced3 100644
--- a/uffd/views/selfservice.py
+++ b/uffd/views/selfservice.py
@@ -187,7 +187,7 @@ def update_email_preferences():
 	else:
 		request.user.recovery_email = verified_emails.filter_by(id=request.form['recovery_email']).one()
 	for service_user in request.user.service_users:
-		if not service_user.service.enable_email_preferences:
+		if not service_user.has_email_preferences:
 			continue
 		value = request.form.get(f'service_{service_user.service.id}_email', 'primary')
 		if value == 'primary':
diff --git a/uffd/views/user.py b/uffd/views/user.py
index b3ba6788512544303d3d210e4cf043ff0c96d011..04fb953bb333aa3c3fdc0a8b3979aa87c305795b 100644
--- a/uffd/views/user.py
+++ b/uffd/views/user.py
@@ -113,7 +113,7 @@ def update(id):
 	else:
 		user.recovery_email = verified_emails.filter_by(id=request.form['recovery_email']).one()
 	for service_user in user.service_users:
-		if not service_user.service.enable_email_preferences:
+		if not service_user.has_email_preferences:
 			continue
 		value = request.form.get(f'service_{service_user.service.id}_email', 'primary')
 		if value == 'primary':