diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessor.java
index 253c61c08de8fe9bf248a1b273dc017c321eb140..d5501ce829b68463ed23e8ce516bdc78bdef4bc1 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessor.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessor.java
@@ -39,13 +39,17 @@ class ForwardingVorgangWithEingangProcessor implements RepresentationModelProces
 	}
 
 	boolean isForwardableByOzgCloud(VorgangWithEingang vorgang) {
-		return featureToggleProperties.isForwardByOzgCloudEnabled() && isStatusNeu(vorgang);
+		return featureToggleProperties.isForwardByOzgCloudEnabled() && isStatusNeu(vorgang) && isNotPoststelleOrEinheitlicherAnsprechpartner();
 	}
 
 	private boolean isStatusNeu(VorgangWithEingang vorgang) {
 		return vorgang.getStatus() == VorgangStatus.NEU;
 	}
 
+	boolean isNotPoststelleOrEinheitlicherAnsprechpartner() {
+		return userService.hasRole(UserRole.VERWALTUNG_POSTSTELLE) || userService.hasRole(UserRole.EINHEITLICHER_ANSPRECHPARTNER);
+	}
+
 	private Link buildForwardByOzgCloudLink(VorgangWithEingang vorgang) {
 		return linkTo(methodOn(CommandController.CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(),
 				vorgang.getVersion(), null)).withRel(REL_FORWARD_BY_OZGCLOUD);
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessorTest.java
index 6cb6708f9eaac89da60d6166a21b5af6ce0268f0..afddb5f1524487dbd49a858c0306fe16f9fd388c 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessorTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/forwarding/ForwardingVorgangWithEingangProcessorTest.java
@@ -182,6 +182,16 @@ class ForwardingVorgangWithEingangProcessorTest {
 
 				assertThat(forwardableByOzgCloud).isFalse();
 			}
+
+			@ParameterizedTest
+			@EnumSource
+			void shouldNotCallIsNotPoststelleOrEinheitlicherAnsprechpartner(VorgangStatus status) {
+				var vorgang = VorgangWithEingangTestFactory.createBuilder().status(status).build();
+
+				processor.isForwardableByOzgCloud(vorgang);
+
+				verify(processor, never()).isNotPoststelleOrEinheitlicherAnsprechpartner();
+			}
 		}
 
 		@Nested
@@ -192,27 +202,91 @@ class ForwardingVorgangWithEingangProcessorTest {
 				when(featureToggleProperties.isForwardByOzgCloudEnabled()).thenReturn(true);
 			}
 
-			@ParameterizedTest
-			@EnumSource(mode = Mode.EXCLUDE, names = { "NEU" })
-			void shouldReturnFalseOnVorgangStatusNotNeu(VorgangStatus status) {
-				var vorgang = VorgangWithEingangTestFactory.createBuilder().status(status).build();
+			@Nested
+			class TestOnVorgangNotNeu {
+				@ParameterizedTest
+				@EnumSource(mode = Mode.EXCLUDE, names = { "NEU" })
+				void shouldReturnFalseOnVorgangStatusNotNeu(VorgangStatus status) {
+					var vorgang = VorgangWithEingangTestFactory.createBuilder().status(status).build();
 
-				var forwardableByOzgCloud = processor.isForwardableByOzgCloud(vorgang);
+					var forwardableByOzgCloud = processor.isForwardableByOzgCloud(vorgang);
 
-				assertThat(forwardableByOzgCloud).isFalse();
+					assertThat(forwardableByOzgCloud).isFalse();
+				}
+
+				@ParameterizedTest
+				@EnumSource(mode = Mode.EXCLUDE, names = { "NEU" })
+				void shouldNotCallIsNotPoststelleOrEinheitlicherAnsprechpartner(VorgangStatus status) {
+					var vorgang = VorgangWithEingangTestFactory.createBuilder().status(status).build();
+
+					processor.isForwardableByOzgCloud(vorgang);
+
+					verify(processor, never()).isNotPoststelleOrEinheitlicherAnsprechpartner();
+				}
 			}
 
-			@Test
-			void shouldReturnTrueOnVorgangStatusNeu() {
-				var vorgang = VorgangWithEingangTestFactory.createBuilder().status(VorgangStatus.NEU).build();
+			@Nested
+			class TestOnVorgangIsNeu {
 
-				var forwardableByOzgCloud = processor.isForwardableByOzgCloud(vorgang);
+				private final VorgangWithEingang newVorgang = VorgangWithEingangTestFactory.createBuilder().status(VorgangStatus.NEU).build();
+
+				@Test
+				void shouldCallIsNotPoststelleOrEinheitlicherAnsprechpartner() {
+					processor.isForwardableByOzgCloud(newVorgang);
+
+					verify(processor).isNotPoststelleOrEinheitlicherAnsprechpartner();
+				}
 
-				assertThat(forwardableByOzgCloud).isTrue();
+				@ParameterizedTest
+				@ValueSource(booleans = { true, false })
+				void shouldReturnValueOfisNotPoststelleOrEinheitlicherAnsprechpartner(boolean isNotPoststelleOrEinheitlicherAnsprechpartner) {
+					doReturn(isNotPoststelleOrEinheitlicherAnsprechpartner).when(processor).isNotPoststelleOrEinheitlicherAnsprechpartner();
+
+					var forwardableByOzgCloud = processor.isForwardableByOzgCloud(newVorgang);
+
+					assertThat(forwardableByOzgCloud).isEqualTo(isNotPoststelleOrEinheitlicherAnsprechpartner);
+				}
 			}
 		}
 	}
 
+	@Nested
+	class TestIsNotPoststelleOrEinheitlicherAnsprechpartner {
+
+		private static final String UNKOWN_ROLE = "UNKOWN_ROLE";
+
+		@BeforeEach
+		void mock() {
+			when(userService.hasRole(any())).thenAnswer(invocation -> {
+				var role = invocation.getArgument(0, String.class);
+				return role == UserRole.EINHEITLICHER_ANSPRECHPARTNER || role == UserRole.VERWALTUNG_POSTSTELLE;
+			});
+		}
+
+		@Test
+		void shouldCallUserServiceForCurrentRole() {
+			processor.isForwardableByEmail();
+
+			verify(userService).hasRole(UserRole.EINHEITLICHER_ANSPRECHPARTNER);
+		}
+
+		@ParameterizedTest
+		@ValueSource(strings = { UserRole.EINHEITLICHER_ANSPRECHPARTNER, UserRole.VERWALTUNG_POSTSTELLE })
+		void shouldReturnFalse(String role) {
+			var isNotPoststelleOrEinheitlicherAnsprechpartner = processor.isNotPoststelleOrEinheitlicherAnsprechpartner();
+
+			assertThat(isNotPoststelleOrEinheitlicherAnsprechpartner).isTrue();
+		}
+
+		@ParameterizedTest
+		@ValueSource(strings = { UserRole.VERWALTUNG_LOESCHEN, UserRole.VERWALTUNG_USER, UNKOWN_ROLE })
+		void shouldReturnTrue(String role) {
+			var isNotPoststelleOrEinheitlicherAnsprechpartner = processor.isNotPoststelleOrEinheitlicherAnsprechpartner();
+
+			assertThat(isNotPoststelleOrEinheitlicherAnsprechpartner).isTrue();
+		}
+	}
+
 	@Nested
 	class TestIsForwardableByEmail {