diff --git a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsResource.java b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsResource.java
index de7b344a71ef2ea1874a55ef8f4bee02592f4e2a..a1bf4dc8f02c0ecce2efd7be84e25b74cd7004c1 100644
--- a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsResource.java
+++ b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsResource.java
@@ -25,8 +25,6 @@ package de.ozgcloud.user.settings;
 
 import java.util.Objects;
 
-import de.ozgcloud.user.common.errorhandling.AccessForbiddenException;
-import de.ozgcloud.user.common.errorhandling.FunctionalException;
 import jakarta.inject.Inject;
 import jakarta.ws.rs.GET;
 import jakarta.ws.rs.PATCH;
@@ -43,6 +41,8 @@ import org.jboss.resteasy.reactive.common.util.RestMediaType;
 
 import de.ozgcloud.user.User;
 import de.ozgcloud.user.UserService;
+import de.ozgcloud.user.common.errorhandling.AccessForbiddenException;
+import de.ozgcloud.user.common.errorhandling.FunctionalException;
 import io.quarkus.hal.HalEntityWrapper;
 
 @Path(UserSettingsResource.USER_PATH)
@@ -86,7 +86,7 @@ public class UserSettingsResource {
 			throw new FunctionalException(() -> "Request Body missing.");
 		}
 
-		return userSettingsService.updateByUserId(userSettings, userId)
+		return userSettingsService.updateByUserId(userId, userSettings)
 				.map(updatedSettings -> resourceAssembler.toResource(updatedSettings, userId, userManagerUrl))
 				.orElseThrow(() -> new FunctionalException(() -> "Invalid user id"));
 	}
diff --git a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsService.java b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsService.java
index 11459e7a474a80d80823df6f7945661ddd3b0416..d7aa65b6ecb7546f5a70a42555e417124dcd8a46 100644
--- a/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsService.java
+++ b/user-manager-server/src/main/java/de/ozgcloud/user/settings/UserSettingsService.java
@@ -40,8 +40,9 @@ class UserSettingsService {
 	@Inject
 	UserSettingsRepository repository;
 
-	public Optional<UserSettings> updateByUserId(UserSettings userSettings, String userId) {
-		return repository.updateByUserId(userId, userSettings);
+	public Optional<UserSettings> updateByUserId(String userId, UserSettings newSettings) {
+		var settings = newSettings.toBuilder().vorgangCreated(newSettings.getNotificationsSendFor() == NotificationsSendFor.ALL).build();
+		return repository.updateByUserId(userId, settings);
 	}
 
 	public UserSettings getByUserId(String userId) {
diff --git a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsResourceTest.java b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsResourceTest.java
index df8ea4ff0e9ed34e051c28903e2ab78476f99f62..3cde1320d243fb4191cb5d7b7ef54447cc8d2774 100644
--- a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsResourceTest.java
+++ b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsResourceTest.java
@@ -168,7 +168,7 @@ class UserSettingsResourceTest {
 			@BeforeEach
 			void mockAccess() {
 				doNothing().when(resource).checkUserAccess(anyString());
-				when(userSettingsService.updateByUserId(any(UserSettings.class), anyString())).thenReturn(Optional.of(updatedUserSettings));
+				when(userSettingsService.updateByUserId(anyString(), any(UserSettings.class))).thenReturn(Optional.of(updatedUserSettings));
 			}
 
 			@Test
@@ -184,7 +184,7 @@ class UserSettingsResourceTest {
 				when(resourceAssembler.toResource(any(), anyString(), anyString())).thenReturn(new HalEntityWrapper(null));
 				resource.updateUserSettings(USER_ID, userSettings);
 
-				verify(userSettingsService).updateByUserId(userSettings, USER_ID);
+				verify(userSettingsService).updateByUserId(USER_ID, userSettings);
 			}
 
 			@Test
diff --git a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceITCase.java b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceITCase.java
index 6f0d5f1d6744d4c813b16e7a4e0285577a34f112..c3fcc2884cdf15e25ec77559d394ab01b088f613 100644
--- a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceITCase.java
+++ b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceITCase.java
@@ -66,7 +66,7 @@ class UserSettingsServiceITCase {
 					.notificationsSendFor(NotificationsSendFor.ALL)
 					.build();
 
-			var savedUserSettings = service.updateByUserId(userSettingsToSave, UserTestFactory.ID.toHexString());
+			var savedUserSettings = service.updateByUserId(UserTestFactory.ID.toHexString(), userSettingsToSave);
 
 			assertThat(savedUserSettings)
 					.isPresent()
diff --git a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceTest.java b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceTest.java
index 5eeac12fb8fda7f6ca0cdeceb3f74c6171acdace..f46eafb7f7832577f64ffe395dab72158741bea2 100644
--- a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceTest.java
+++ b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsServiceTest.java
@@ -33,6 +33,8 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 
@@ -56,11 +58,54 @@ class UserSettingsServiceTest {
 		private final UserSettings userSettings = UserSettingsTestFactory.create();
 		private final String userId = UUID.randomUUID().toString();
 
+		@Captor
+		private ArgumentCaptor<UserSettings> userSettingsArgumentCaptor;
+
 		@Test
 		void shouldCallRepository() {
-			service.updateByUserId(userSettings, userId);
+			service.updateByUserId(userId, userSettings);
+
+			verify(repository).updateByUserId(eq(userId), any(UserSettings.class));
+		}
 
-			verify(repository).updateByUserId(userId, userSettings);
+		@Test
+		void shouldSetVorgangCreated() {
+			service.updateByUserId(userId, userSettings.toBuilder().notificationsSendFor(NotificationsSendFor.ALL).vorgangCreated(false).build());
+
+			verify(repository).updateByUserId(eq(userId), userSettingsArgumentCaptor.capture());
+			assertThat(userSettingsArgumentCaptor.getValue())
+					.extracting(
+							UserSettings::getNotificationsSendFor,
+							UserSettings::isVorgangCreated,
+							UserSettings::isVorgangAssignedToUser,
+							UserSettings::isPostfachNachrichtFromAntragsteller,
+							UserSettings::isWiedervorlageOverdue)
+					.containsExactly(
+							NotificationsSendFor.ALL,
+							true,
+							UserSettingsTestFactory.VORGANG_ASSIGNED_TO_USER,
+							UserSettingsTestFactory.POSTFACH_NACHRICHT_FROM_ANTRAGSTELLER,
+							UserSettingsTestFactory.WIEDERVORLAGE_OVERDUE);
+		}
+
+		@Test
+		void shouldUnsetVorgangCreated() {
+			service.updateByUserId(userId, userSettings.toBuilder().notificationsSendFor(NotificationsSendFor.NONE).vorgangCreated(true).build());
+
+			verify(repository).updateByUserId(eq(userId), userSettingsArgumentCaptor.capture());
+			assertThat(userSettingsArgumentCaptor.getValue())
+					.extracting(
+							UserSettings::getNotificationsSendFor,
+							UserSettings::isVorgangCreated,
+							UserSettings::isVorgangAssignedToUser,
+							UserSettings::isPostfachNachrichtFromAntragsteller,
+							UserSettings::isWiedervorlageOverdue)
+					.containsExactly(
+							NotificationsSendFor.NONE,
+							false,
+							UserSettingsTestFactory.VORGANG_ASSIGNED_TO_USER,
+							UserSettingsTestFactory.POSTFACH_NACHRICHT_FROM_ANTRAGSTELLER,
+							UserSettingsTestFactory.WIEDERVORLAGE_OVERDUE);
 		}
 	}
 
diff --git a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTestFactory.java b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTestFactory.java
index 5e3c7ab6886cf791a36976a18e56776d0d4f56a9..db31c9ee8a14ce97b014ee3ac1edfce64c311f6a 100644
--- a/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTestFactory.java
+++ b/user-manager-server/src/test/java/de/ozgcloud/user/settings/UserSettingsTestFactory.java
@@ -26,6 +26,10 @@ package de.ozgcloud.user.settings;
 public class UserSettingsTestFactory {
 
 	public static final NotificationsSendFor NOTIFICATIONS_SEND_FOR = NotificationsSendFor.NONE;
+	public static final boolean VORGANG_CREATED = false;
+	public static final boolean VORGANG_ASSIGNED_TO_USER = true;
+	public static final boolean POSTFACH_NACHRICHT_FROM_ANTRAGSTELLER = true;
+	public static final boolean WIEDERVORLAGE_OVERDUE = true;
 
 	public static UserSettings create() {
 		return createBuilder().build();
@@ -33,6 +37,10 @@ public class UserSettingsTestFactory {
 
 	public static UserSettings.UserSettingsBuilder createBuilder() {
 		return UserSettings.builder()
-				.notificationsSendFor(NOTIFICATIONS_SEND_FOR);
+				.notificationsSendFor(NOTIFICATIONS_SEND_FOR)
+				.vorgangCreated(VORGANG_CREATED)
+				.vorgangAssignedToUser(VORGANG_ASSIGNED_TO_USER)
+				.postfachNachrichtFromAntragsteller(POSTFACH_NACHRICHT_FROM_ANTRAGSTELLER)
+				.wiedervorlageOverdue(WIEDERVORLAGE_OVERDUE);
 	}
 }
\ No newline at end of file