diff --git a/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts b/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts
index 1d3f59f9b86620a22a3267b20de9759dc1f53d1f..7ef8c101db08ac8d1cb66cf825326dcf88835998 100644
--- a/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts
+++ b/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts
@@ -78,6 +78,10 @@ export class VorgangSearchFormService implements OnDestroy {
 		this.vorgangListService.clearSearchPreviewList();
 	}
 
+	isSearchInputNotPristine(): boolean {
+		return ! this.getSearchFormControl().pristine;
+	}
+
 	searchForPreviewList(value: string): void {
 		this.vorgangListService.setSearchString(value);
 		this.vorgangListService.searchForPreview(value);
@@ -107,6 +111,10 @@ export class VorgangSearchFormService implements OnDestroy {
 		}
 	}
 
+	isSameSearchString(): boolean {
+		return this.getValue() === this.lastSearchString
+	}
+
 	hasSearchString(): boolean {
 		return isNotEmpty(this.getValue());
 	}
@@ -144,14 +152,6 @@ export class VorgangSearchFormService implements OnDestroy {
 		this.getSearchFormControl().setValue(value);
 	}
 
-	isSearchInputNotPristine(): boolean {
-		return ! this.getSearchFormControl().pristine;
-	}
-
-	isSameSearchString(): boolean {
-		return this.getValue() === this.lastSearchString
-	}
-
 	ngOnDestroy(): void {
 		if (isNotNil(this.subscription)) this.subscription.unsubscribe();
 		if (isNotNil(this.previewSubscription)) this.previewSubscription.unsubscribe();
diff --git a/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts b/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts
index a08fb64201340acc26d106faccd5dd9aa5dd0bee..028fbf62116de8a57d1a4fbd61e2cb714e2ec79b 100644
--- a/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts
+++ b/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts
@@ -147,44 +147,33 @@ function buildStateOnNavigation(state: VorgangState, routeData: RouteData): Vorg
 	const searchString: string = isSearch(routeData) ? getSearchString(routeData) : null;
 
 	if (isMyVorgaenge(routeData)) {
-		return {
-			...state,
-			vorgangList: { ...state.vorgangList, reload: true },
-			searchString,
-			vorgaenge: EMPTY_ARRAY
-		};
+		return addSearchstring(state, searchString);
 	}
 	if (isVorgangListPage(routeData)) {
-		return {
-			...state,
-			searchString,
-			vorgangList: { ...state.vorgangList, reload: true },
-			vorgaenge: EMPTY_ARRAY
-		};
+		return addSearchstring(state, searchString);
 	}
 	if (isSearch(routeData)) {
-		const newState: VorgangState = {
-			...state,
-			searchString,
-			vorgangList: { ...state.vorgangList, reload: true },
-			vorgaenge: EMPTY_ARRAY
-		}
+		const newState: VorgangState = addSearchstring(state, searchString)
 		if (hasSearchStringChanged(state, searchString)) {
 			return { ...newState, searchPreviewList: createEmptyStateResource() }
 		}
 		return newState;
 	}
 	if (isVorgangDetailPage(routeData)) {
-		return {
-			...state,
-			searchString,
-			vorgangList: { ...state.vorgangList, reload: true },
-			vorgaenge: EMPTY_ARRAY
-		};
+		return addSearchstring(state, searchString);
 	}
 	return { ...state };
 }
 
+function addSearchstring(state: VorgangState, searchString: string): VorgangState {
+	return {
+		...state,
+		searchString,
+		vorgangList: { ...state.vorgangList, reload: true },
+		vorgaenge: EMPTY_ARRAY
+	}
+}
+
 function hasSearchStringChanged(state: VorgangState, currentSearchString: string): boolean {
 	return currentSearchString != state.searchString;
 }