diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
index 27fbc0aa695b4e30a7e311679e3331dfd621b8ea..7f5d897628057b0c929c61fd9596ad7de3dad49a 100644
--- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
@@ -2,7 +2,7 @@ export class ForwardingDialogE2EComponent {
   private readonly root: string = 'forwarding-dialog';
   private readonly cancelButton: string = 'cancel-dialog-button';
   private readonly cancelIconButton: string = 'cancel-dialog-icon-button';
-  private readonly forwardingButton: string = 'forwarding-button';
+  private readonly forwardingButton: string = 'forwarding-dialog-forwarding-button';
   private readonly searchText: string = 'instant_search-text-input';
   private readonly searchEntry: string = 'item-button';
   private readonly forwardingItem: string = 'forwarding-item';
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/forwarding/forwarding.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/forwarding/forwarding.cy.ts
new file mode 100644
index 0000000000000000000000000000000000000000..38dc17bb68d5b4e430c6ae5c3c3cd5bbc4cb8f4c
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/forwarding/forwarding.cy.ts
@@ -0,0 +1,40 @@
+import { registerLocaleData } from '@angular/common';
+import localeDe from '@angular/common/locales/de';
+import localeDeExtra from '@angular/common/locales/extra/de';
+import { E2EAppHelper } from 'apps/alfa-e2e/src/helper/app.helper';
+import { E2EForwardingHelper } from 'apps/alfa-e2e/src/helper/forwarding/forwarding.helper';
+import { E2EOrganisationsEinheit } from 'apps/alfa-e2e/src/model/organisationseinheit';
+import { E2EVorgangVerifier } from '../../../helper/vorgang/vorgang.verifier';
+import { VorgangE2E } from '../../../model/vorgang';
+import { dropCollections } from '../../../support/cypress-helper';
+import { createVorgang, initVorgang } from '../../../support/vorgang-util';
+
+registerLocaleData(localeDe, 'de', localeDeExtra);
+
+describe('Vorgang weiterleiten', () => {
+  const appHelper: E2EAppHelper = new E2EAppHelper();
+
+  const vorgangVerifier: E2EVorgangVerifier = new E2EVorgangVerifier();
+
+  const forwardingHelper: E2EForwardingHelper = new E2EForwardingHelper();
+
+  const vorgang: VorgangE2E = { ...createVorgang(), name: 'Weiterleitung' };
+
+  before(() => {
+    initVorgang(vorgang);
+
+    appHelper.loginAsSabine();
+  });
+
+  after(() => {
+    dropCollections();
+  });
+
+  it('should disable all functions after successfully forwarding', () => {
+    forwardingHelper.openForwarding(vorgang.name);
+
+    forwardingHelper.forwardTo(E2EOrganisationsEinheit.HAMBURG_STADTENTWAESSERUNG);
+
+    vorgangVerifier.verifyVorgangIsLocked();
+  });
+});
diff --git a/alfa-client/apps/alfa-e2e/src/helper/app.helper.ts b/alfa-client/apps/alfa-e2e/src/helper/app.helper.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e264eb98df16537f69c250fa09252c35346c43b8
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/helper/app.helper.ts
@@ -0,0 +1,23 @@
+import { VorgangListE2EComponent } from '../components/vorgang/vorgang-list.e2e.component';
+import { MainPage, waitForSpinnerToDisappear } from '../page-objects/main.po';
+import { exist } from '../support/cypress.util';
+import { loginAsSabine } from '../support/user-util';
+
+export class E2EAppHelper {
+  private readonly mainPage: MainPage = new MainPage();
+  private readonly vorgangList: VorgangListE2EComponent = new VorgangListE2EComponent();
+
+  public loginAsSabine(): void {
+    loginAsSabine();
+    this.waitAfterLogin();
+  }
+
+  private waitAfterLogin(): void {
+    waitForSpinnerToDisappear();
+    exist(this.vorgangList.getRoot());
+  }
+
+  public navigateToDomain(): void {
+    this.mainPage.getHeader().getLogo().click();
+  }
+}
diff --git a/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts
new file mode 100644
index 0000000000000000000000000000000000000000..22295bb180d00c9d23b787fde72a001bea29cab2
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.executor.ts
@@ -0,0 +1,16 @@
+import { ForwardingDialogE2EComponent } from '../../components/vorgang/vorgang-forwarding-dialog.e2e.component';
+import { waitForSpinnerToDisappear } from '../../page-objects/main.po';
+import { exist } from '../../support/cypress.util';
+
+export class E2EForwardingExecutor {
+  private readonly forwardingDialog = new ForwardingDialogE2EComponent();
+
+  public fillForwardingDialog(organisationsEinheit: string): void {
+    this.forwardingDialog.getSearchText().type(organisationsEinheit);
+    waitForSpinnerToDisappear();
+    this.forwardingDialog.clickSearchEntry(0);
+    exist(this.forwardingDialog.getForwardingItem());
+    this.forwardingDialog.getForwardingButton().click();
+    waitForSpinnerToDisappear();
+  }
+}
diff --git a/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.helper.ts b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.helper.ts
new file mode 100644
index 0000000000000000000000000000000000000000..218fd6e7140255e57d51924766bc47242c33dffc
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.helper.ts
@@ -0,0 +1,15 @@
+import { E2EForwardingExecutor } from './forwarding.executor';
+import { E2EForwardingNavigator } from './forwarding.navigator';
+
+export class E2EForwardingHelper {
+  private readonly executor: E2EForwardingExecutor = new E2EForwardingExecutor();
+  private readonly navigator: E2EForwardingNavigator = new E2EForwardingNavigator();
+
+  public openForwarding(vorgangName: string): void {
+    this.navigator.openForwardDialog(vorgangName);
+  }
+
+  public forwardTo(orgnisationsEinheit: string): void {
+    this.executor.fillForwardingDialog(orgnisationsEinheit);
+  }
+}
diff --git a/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.navigator.ts b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.navigator.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3400d79516d98512531d28f43b8575f583a5d0f4
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/helper/forwarding/forwarding.navigator.ts
@@ -0,0 +1,17 @@
+import { VorgangFormularButtonsE2EComponent } from '../../components/vorgang/vorgang-formular-buttons.e2e.components';
+import { ForwardingDialogE2EComponent } from '../../components/vorgang/vorgang-forwarding-dialog.e2e.component';
+import { exist } from '../../support/cypress.util';
+import { E2EVorgangNavigator } from '../vorgang/vorgang.navigator';
+
+export class E2EForwardingNavigator {
+  private readonly vorgangNavigator: E2EVorgangNavigator = new E2EVorgangNavigator();
+
+  private readonly formularButtons: VorgangFormularButtonsE2EComponent = new VorgangFormularButtonsE2EComponent();
+  private readonly forwardingDialog: ForwardingDialogE2EComponent = new ForwardingDialogE2EComponent();
+
+  public openForwardDialog(vorgangName: string): void {
+    this.vorgangNavigator.openVorgangDetailByName(vorgangName);
+    this.formularButtons.getForwardButton().click();
+    exist(this.forwardingDialog.getRoot());
+  }
+}
diff --git a/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.navigator.ts b/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.navigator.ts
index 7b4fc54b196ff4dc2c83ffbf029a8b063c6b1054..3225f82b8ac3c2dd7158bbc00e1499f30c0f4c14 100644
--- a/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.navigator.ts
+++ b/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.navigator.ts
@@ -1,8 +1,12 @@
 import { VorgangListE2EComponent } from '../../components/vorgang/vorgang-list.e2e.component';
 import { waitForSpinnerToDisappear } from '../../page-objects/main.po';
+import { exist } from '../../support/cypress.util';
+import { E2EAppHelper } from '../app.helper';
 import { E2EVorgangVerifier } from './vorgang.verifier';
 
 export class E2EVorgangNavigator {
+  private readonly appHelper: E2EAppHelper = new E2EAppHelper();
+
   private readonly verifier: E2EVorgangVerifier = new E2EVorgangVerifier();
 
   private readonly vorgangListPage = new VorgangListE2EComponent();
@@ -12,4 +16,11 @@ export class E2EVorgangNavigator {
     waitForSpinnerToDisappear();
     this.verifier.verifyVorgangDetailOpen(vorgangName);
   }
+
+  public openVorgang(vorgangName: string): void {
+    this.appHelper.navigateToDomain();
+    waitForSpinnerToDisappear();
+    exist(this.vorgangListPage.getRoot());
+    this.openVorgangDetailByName(vorgangName);
+  }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.verifier.ts b/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.verifier.ts
index c42945065f7c18f03c4f74fbcbf2809c9b2a8021..d8e8e39394686a7a4414a6d38564e69c5969f6f0 100644
--- a/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.verifier.ts
+++ b/alfa-client/apps/alfa-e2e/src/helper/vorgang/vorgang.verifier.ts
@@ -1,8 +1,10 @@
+import { VorgangFormularButtonsE2EComponent } from '../../components/vorgang/vorgang-formular-buttons.e2e.components';
 import { VorgangPage } from '../../page-objects/vorgang.po';
 import { contains, exist, notExist } from '../../support/cypress.util';
 
 export class E2EVorgangVerifier {
   private readonly vorgangPage: VorgangPage = new VorgangPage();
+  private readonly formularButtons: VorgangFormularButtonsE2EComponent = new VorgangFormularButtonsE2EComponent();
 
   public verifyVorgangDetailOpen(vorgangName: string): void {
     exist(this.vorgangPage.getVorgangDetailHeader().getRoot());
@@ -16,4 +18,25 @@ export class E2EVorgangVerifier {
   public verifyNoForwardingButtonExists(): void {
     notExist(this.vorgangPage.getFormularButtons().getForwardButton());
   }
+
+  public verifyVorgangIsLocked(): void {
+    this.verifyFormularButtonsNotVisible();
+    notExist(this.vorgangPage.getWiedervorlagenContainer().getCreateWiedervorlageButton());
+    notExist(this.vorgangPage.getKommentarContainer().getHinzufuegenButton());
+    notExist(this.vorgangPage.getPostfachMailcontainer().getCreateButtonWithText());
+    notExist(this.vorgangPage.getPostfachMailcontainer().getCreateButtonWithoutText());
+  }
+
+  private verifyFormularButtonsNotVisible(): void {
+    notExist(this.formularButtons.getAbschliessenButton());
+    notExist(this.formularButtons.getBearbeitenButton());
+    notExist(this.formularButtons.getBescheidenButton());
+    notExist(this.formularButtons.getEndgueltigLoeschenButton());
+    notExist(this.formularButtons.getForwardButton());
+    notExist(this.formularButtons.getLoeschAnforderungZuruecknehmenButton());
+    notExist(this.formularButtons.getVerwerfenButton());
+    notExist(this.formularButtons.getWiedereroeffnenButton());
+    notExist(this.formularButtons.getZurueckholenButton());
+    notExist(this.formularButtons.getZurueckstellenButton());
+  }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/model/organisationseinheit.ts b/alfa-client/apps/alfa-e2e/src/model/organisationseinheit.ts
new file mode 100644
index 0000000000000000000000000000000000000000..302f3c401870a6951537a8fceeea96760e239abf
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/model/organisationseinheit.ts
@@ -0,0 +1,3 @@
+export enum E2EOrganisationsEinheit {
+  HAMBURG_STADTENTWAESSERUNG = 'Wasserwerk - Hamburg Wasser - Hamburger Stadtentwässerung',
+}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
index 1b36245dd262eb85c56fa35d29ba8f4bf1ba53d4..56351e1e676a1a52233c159cb5eca35317ffbe96 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html
@@ -4,7 +4,7 @@
   (clickEmitter)="clickEmitter.emit()"
   text="Weiterleiten"
   variant="outline"
-  dataTestId="forwarding-button"
+  [dataTestId]="dataTestId"
   data-test-id="forwarding-button-container"
 >
   <ods-forward-vorgang-icon icon class="fill-primary" />
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
index 767fe5e4ce40e7589725973d37e9a84c12fd0564..6d4eb151c9bdcff316d90a80648bf99308fb69d1 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts
@@ -13,6 +13,7 @@ import { ForwardVorgangIconComponent } from '@ods/system';
 export class ForwardingButtonComponent {
   @Input() disabled: boolean;
   @Input() stateResource: StateResource<CommandResource>;
+  @Input({ required: true }) dataTestId: string;
 
   @Output() clickEmitter: EventEmitter<void> = new EventEmitter();
 }
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
index 5aaf99a340455262073812254cf8c7d74adf578e..ebe39314d3993a6f3793f0e87526ab361e9a38ca 100644
--- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
@@ -16,6 +16,7 @@
       [disabled]="!selectedSearchResult"
       (clickEmitter)="onForwarding()"
       data-test-id="foward-dialog-forward-button"
+      dataTestId="forwarding-dialog-forwarding-button"
     />
     <ods-cancel-dialog-button />
   </div>