diff --git a/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts b/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts
index 942ca981b817638df601f6193ea89eb60761ef4a..883fa3c0ed06d22b9f72e7e57240057fddab6ec4 100644
--- a/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts
+++ b/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminDisseminationPolicyListRoutable extends SharedAbstractListRout
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_disseminationPolicy, adminDisseminationPolicyActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_disseminationPolicy, adminDisseminationPolicyActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: DisseminationPolicy | undefined): boolean {
diff --git a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts
index 34b7ff7c9d45d532ed2d5b7625c3dc5bf66a3d69..f769667c421c1d211e57a18b83bef83dfa06333a 100644
--- a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts
+++ b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminFundingAgenciesListRoutable extends SharedAbstractListRoutable
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_fundingAgencies, adminFundingAgenciesActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_fundingAgencies, adminFundingAgenciesActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: FundingAgency | undefined): boolean {
diff --git a/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts b/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts
index 129fff0a70fcdaa6b2b6c06665b3db6a9cea49e5..dc22921ce4f47466fc41960e0d024127ee072211 100644
--- a/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts
+++ b/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminInstitutionListRoutable extends SharedAbstractListRoutable<Ins
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_institution, adminInstitutionActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_institution, adminInstitutionActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: Institution | undefined): boolean {
diff --git a/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts b/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts
index 1164c4d45e2a7a737f6793ecb0c12219e8bef239..fbc624f079bc37f138634e22084a093dbc3c4342 100644
--- a/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts
+++ b/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts
@@ -18,6 +18,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {CreateEditDialog} from "@shared/models/detail-edit-dialog.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {tap} from "rxjs/operators";
 import {
   isNullOrUndefined,
@@ -43,9 +44,10 @@ export class AdminLanguageListRoutable extends SharedAbstractListRoutable<Langua
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_language, adminLanguageActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_language, adminLanguageActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: Language | undefined): boolean {
diff --git a/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts b/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts
index d73038c97b18e6a940f96d71cac04ae9be4757e4..6aff6a22fff9608fcf871c6c3a2f887d1ea2eb2a 100644
--- a/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts
+++ b/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminLicenseListRoutable extends SharedAbstractListRoutable<License
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_license, adminLicenseActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_license, adminLicenseActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: License | undefined): boolean {
diff --git a/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts b/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts
index 5a91e1ab713298cbada28a3d81c76af4836dcc64..c26fab5f217d746c1ddb6c9a99e854f2a8ffc597 100644
--- a/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts
+++ b/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts
@@ -16,6 +16,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -36,9 +37,10 @@ export class AdminMetadataTypeListRoutable extends SharedAbstractListRoutable<Me
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_metadataType, adminMetadataTypeActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_metadataType, adminMetadataTypeActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: MetadataType | undefined): boolean {
diff --git a/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts b/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts
index b2246eb41e018e8eb2b45db188be86ef8593e5ca..6c0e12e03cc05d4bf612e64dbe31bde52b4e88fb 100644
--- a/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts
+++ b/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts
@@ -17,6 +17,7 @@ import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {NotificationStatusEnumHelper} from "@shared/enums/notification-status.enum";
 import {NotificationTypeEnumHelper} from "@shared/enums/notification-type.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -37,9 +38,10 @@ export class AdminNotificationListRoutable extends SharedAbstractListRoutable<No
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_notification, adminNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_notification, adminNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: NotificationDlcm | undefined): boolean {
diff --git a/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts b/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts
index 03b590d826ab4684730be506cc9d7ec4dc22d930..c02b418211aad50a318be8abf1deb9d9317e3d5f 100644
--- a/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts
+++ b/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts
@@ -16,6 +16,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {RoutesEnum} from "@shared/enums/routes.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -36,9 +37,10 @@ export class AdminOaiSetListRoutable extends SharedAbstractListRoutable<OaiSet,
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_oaiSet, adminOaiSetActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_oaiSet, adminOaiSetActionNameSpace, {
       listExtraButtons: [
         {
           color: "primary",
diff --git a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts
index 74403d3ab7f624f06c43d497eb26cc7093101b33..888b37397b5668852200ec403bc30697b186ede5 100644
--- a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts
+++ b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminOAuth2ClientListRoutable extends SharedAbstractListRoutable<Oa
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_oauth2Client, adminOAuth2ClientActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_oauth2Client, adminOAuth2ClientActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: Oauth2Client | undefined): boolean {
diff --git a/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts b/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts
index f1d89ec2b141e9824c971807f8c7ffdbbeeb4ed8..b889f8d16363b6f16cdbf99c7743b1db9d7ffa12 100644
--- a/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts
+++ b/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminOrgunitListRoutable extends SharedAbstractListRoutable<Organiz
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_organizationalUnit, adminOrgUnitActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_organizationalUnit, adminOrgUnitActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: OrganizationalUnit | undefined): boolean {
diff --git a/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts b/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts
index 820e677e0ec4a242eaa4202ab74c67bd47bb7102..b4d0c3137aa8f1080b022cc8d217a5541fdf403b 100644
--- a/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts
+++ b/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminPersonListRoutable extends SharedAbstractListRoutable<PersonEx
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_person, adminPersonActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_person, adminPersonActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: PersonExtended | undefined): boolean {
diff --git a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts
index a00dd1c8ec58cbb3a29b0912ff0385d540a0563c..b706f6a835a4640acd9ef66ab788c2bf32dbd853 100644
--- a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts
+++ b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminPreservationPolicyListRoutable extends SharedAbstractListRouta
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_preservationPolicy, adminPreservationPolicyActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_preservationPolicy, adminPreservationPolicyActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: PreservationPolicy | undefined): boolean {
diff --git a/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts b/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts
index 53740a3b2106b085931b29647d3f916eb7dbf6bb..bf98797c22b94f4398bdb3e6e498c13209723dd4 100644
--- a/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts
+++ b/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts
@@ -25,6 +25,7 @@ import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {ResearchDomainExtended} from "@shared/models/business/research-domain-extended.model";
 import {DataTableColumns} from "@shared/models/data-table-columns.model";
 import {CreateEditDialog} from "@shared/models/detail-edit-dialog.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {SharedLanguageAction} from "@shared/stores/language/shared-language.action";
 import {SharedLanguageState} from "@shared/stores/language/shared-language.state";
 import {Observable} from "rxjs";
@@ -60,9 +61,10 @@ export class AdminResearchDomainListRoutable extends SharedAbstractListRoutable<
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_researchDomain, adminResearchDomainActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_researchDomain, adminResearchDomainActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   ngOnInit(): void {
diff --git a/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts b/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts
index 61f7d817bba83e19df225d52e09d96eb5ad65c42..6ce492de651173762f8505cb6e4cce5fc39847aa 100644
--- a/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts
+++ b/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminRoleListRoutable extends SharedAbstractListRoutable<Role, Admi
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_role, adminRoleActionNameSpace, {canCreate: false}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_role, adminRoleActionNameSpace, {canCreate: false}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: Role | undefined): boolean {
diff --git a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts
index 97fa7fbe02a5660b0867cb0dbb0e15bd374bd3cf..48fb1b441d52679f908bc5f49c7a62c2477904a0 100644
--- a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts
+++ b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts
@@ -15,6 +15,7 @@ import {
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminSubmissionPolicyListRoutable extends SharedAbstractListRoutabl
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_submissionPolicy, adminSubmissionPolicyActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_submissionPolicy, adminSubmissionPolicyActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: SubmissionPolicy | undefined): boolean {
diff --git a/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts b/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts
index df019c4112ea340b543a8ecf78b88a48724f5d67..40f2b425672d1862f892dee35d4cdad5abfdd2cc 100644
--- a/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts
+++ b/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts
@@ -15,6 +15,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {UserExtended} from "@shared/models/business/user-extended.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -35,9 +36,10 @@ export class AdminUserListRoutable extends SharedAbstractListRoutable<UserExtend
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_user, adminUserActionNameSpace, {}, LocalStateEnum.admin);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_user, adminUserActionNameSpace, {}, LocalStateEnum.admin);
   }
 
   conditionDisplayEditButton(model: UserExtended | undefined): boolean {
diff --git a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts
index 3beca3aa911b1dd8e98269df597f400ec19e6be2..22968a9934bc8e25ffbef3daddc0082c8b885c02 100644
--- a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts
+++ b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts
@@ -43,7 +43,7 @@ import {DepositAuthorizedOrganizationalUnitState} from "@deposit/stores/authoriz
 import {environment} from "@environments/environment";
 import {
   Deposit,
-  OrganizationalUnit, PreservationJob, Sip,
+  OrganizationalUnit,
 } from "@models";
 import {Navigate} from "@ngxs/router-plugin";
 import {
@@ -51,9 +51,12 @@ import {
   Store,
 } from "@ngxs/store";
 import {DepositStatusEnumHelper} from "@shared/enums/business/deposit-status.enum";
+import {PackageStatusEnum} from "@shared/enums/business/package-status.enum";
 import {PollingHelper} from "@shared/helpers/polling.helper";
 import {BaseFormDefinition} from "@shared/models/base-form-definition.model";
+import {DataTableActions} from "@shared/models/data-table-actions.model";
 import {DataTableColumns} from "@shared/models/data-table-columns.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {UserPreferencesUtil} from "@shared/utils/user-preferences.util";
 import {Observable} from "rxjs";
 import {
@@ -77,9 +80,6 @@ import {
   SolidifyValidator,
   TRANSLATE,
 } from "solidify-frontend";
-import {DataTableActions} from "@shared/models/data-table-actions.model";
-import {PreservationSipAction} from "@preservation/sip/stores/sip.action";
-import {PackageStatusEnum} from "@shared/enums/business/package-status.enum";
 
 @Component({
   selector: "dlcm-deposit-list-routable",
@@ -149,11 +149,12 @@ export class DepositListRoutable extends SharedAbstractListRoutable<Deposit, Dep
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog,
               private readonly _fb: FormBuilder,
               protected readonly _router: Router) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.deposit, depositActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.deposit, depositActionNameSpace, {
       canCreate: MemoizedUtil.select(_store, DepositState, state => state.canCreate),
     });
   }
@@ -310,7 +311,6 @@ export class DepositListRoutable extends SharedAbstractListRoutable<Deposit, Dep
     ];
   }
 
-
   @Override()
   goToEdit(deposit: Deposit): void {
     this._store.dispatch(new Navigate([AppRoutesEnum.deposit, deposit.organizationalUnitId, DepositRoutesEnum.detail, deposit.resId, DepositRoutesEnum.edit]));
diff --git a/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts b/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts
index b14c956c80e086c9edf125ab967860a18c9da322..8d94af6363005c5e678ce9eeb4e452dcd6ec908d 100644
--- a/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts
+++ b/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts
@@ -18,6 +18,7 @@ import {OrderQueryTypeEnumHelper} from "@order/helpers/order-query-type-enum.hel
 import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   TRANSLATE,
@@ -38,9 +39,10 @@ export class OrderAllOrderListRoutable extends SharedAbstractListRoutable<Order,
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.order_allOrder, orderAllOrderActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.order_allOrder, orderAllOrderActionNameSpace, {
       canCreate: true,
     }, LocalStateEnum.order);
   }
diff --git a/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts b/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts
index 9902db9039115e2e8942de80cb8a947fc6183609..1d7a728d9d419d29b720dadc9ee82ed3da44ce78 100644
--- a/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts
+++ b/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts
@@ -22,6 +22,7 @@ import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {SessionStorageEnum} from "@shared/enums/session-storage.enum";
 import {SessionStorageHelper} from "@shared/helpers/session-storage.helper";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {Observable} from "rxjs";
 import {
   MappingObjectUtil,
@@ -55,9 +56,10 @@ export class OrderMyOrderListRoutable extends SharedAbstractListRoutable<Order,
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.order_myOrder, orderMyOrderActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.order_myOrder, orderMyOrderActionNameSpace, {
       canCreate: false,
     }, LocalStateEnum.order);
   }
diff --git a/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts b/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts
index 0824738dd430d7282d99fc346a0bdc6c5afcee6b..70bec462dd71e88fc875255d2197eebd30114fd7 100644
--- a/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts
+++ b/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts
@@ -19,6 +19,7 @@ import {
 } from "@ngxs/store";
 import {RoutesEnum} from "@shared/enums/routes.enum";
 import {DataTableActions} from "@shared/models/data-table-actions.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {SecurityService} from "@shared/services/security.service";
 import {
   isNullOrUndefined,
@@ -41,10 +42,11 @@ export class OrgunitListRoutable extends SharedAbstractListRoutable<Organization
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog,
               private readonly _securityService: SecurityService) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.organizationalUnit, orgUnitActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.organizationalUnit, orgUnitActionNameSpace, {
       canCreate: false,
       canGoBack: false,
     });
diff --git a/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts b/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts
index 6768c2f681b55dadc274d6f812e2499d0ef49849..2d95da4cff3916ebe5354080818ca563d4faace5 100644
--- a/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts
+++ b/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts
@@ -18,6 +18,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab
 import {FieldTypeEnum} from "@shared/enums/field-type.enum";
 import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {RoutesEnum} from "@shared/enums/routes.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {SecurityService} from "@shared/services/security.service";
 import {
   OrderEnum,
@@ -40,10 +41,11 @@ export class ContributorListRoutable extends SharedAbstractListRoutable<Contribu
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog,
               private readonly _securityService: SecurityService) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservationSpace_contributor, contributorActionNameSpace,
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservationSpace_contributor, contributorActionNameSpace,
       {
         canCreate: false,
         canRefresh: true,
diff --git a/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts b/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts
index f5406bf93f345a10fd36f4fd7e06673f7569be46..04b6d962bef56c0aa132de9f9c1459270ba89e59 100644
--- a/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts
+++ b/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts
@@ -29,6 +29,7 @@ import {
 } from "@shared/enums/routes.enum";
 import {SessionStorageEnum} from "@shared/enums/session-storage.enum";
 import {SessionStorageHelper} from "@shared/helpers/session-storage.helper";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {sharedOrgUnitActionNameSpace} from "@shared/stores/organizational-unit/shared-organizational-unit.action";
 import {SharedOrganizationalUnitState} from "@shared/stores/organizational-unit/shared-organizational-unit.state";
 import {Observable} from "rxjs";
@@ -71,9 +72,10 @@ export class PreservationSpaceNotificationListRoutable extends SharedAbstractLis
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservationSpace_notification, preservationSpaceNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.preservationSpace);
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservationSpace_notification, preservationSpaceNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.preservationSpace);
   }
 
   ngOnInit(): void {
diff --git a/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts b/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts
index 5d54aa55ef3d38cfafdf89bfaf4bf682b8710075..a47818166358b1ab95e4cbef98bf70862fe9a3da 100644
--- a/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts
+++ b/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts
@@ -36,6 +36,7 @@ import {
   PreservationPlanningRoutesEnum,
   RoutesEnum,
 } from "@shared/enums/routes.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {Observable} from "rxjs";
 import {
   distinctUntilChanged,
@@ -86,12 +87,13 @@ export class AipDownloadedListRoutable extends SharedAbstractListRoutable<Aip, P
 
   constructor(protected readonly store: Store,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _changeDetector: ChangeDetectorRef,
               private readonly translate: TranslateService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog,
               protected readonly _router: Router) {
-    super(store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_aipDownloaded, preservationAipDownloadedActionNameSpace, {
+    super(store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_aipDownloaded, preservationAipDownloadedActionNameSpace, {
       canCreate: false,
     }, LocalStateEnum.preservation);
   }
diff --git a/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts b/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts
index 99901843fe20eba415b2fdbf721e679120a998b5..5b4269d43cad793f249e628ca335f9e8f417ce15 100644
--- a/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts
+++ b/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts
@@ -12,13 +12,15 @@ import {
   NavigationEnd,
   Router,
 } from "@angular/router";
-import {PreservationAipStateModel} from "@app/features/preservation/aip/stores/aip.state";
+import {
+  PreservationAipState,
+  PreservationAipStateModel,
+} from "@app/features/preservation/aip/stores/aip.state";
 import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@app/shared/enums/field-type.enum";
 import {LocalStateEnum} from "@app/shared/enums/local-state.enum";
 import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action";
 import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state";
-import {environment} from "@environments/environment";
 import {Aip} from "@models";
 import {TranslateService} from "@ngx-translate/core";
 import {Navigate} from "@ngxs/router-plugin";
@@ -37,6 +39,7 @@ import {
   RoutesEnum,
   urlSeparator,
 } from "@shared/enums/routes.enum";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {Observable} from "rxjs";
 import {
   distinctUntilChanged,
@@ -49,8 +52,9 @@ import {
   OrderEnum,
   Override,
   OverrideProperty,
-  QueryParameters,
+  QueryParametersUtil,
   ResourceNameSpace,
+  ResourceState,
   TRANSLATE,
 } from "solidify-frontend";
 
@@ -90,12 +94,13 @@ export class AipListRoutable extends SharedAbstractListRoutable<Aip, Preservatio
 
   constructor(protected readonly store: Store,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _changeDetector: ChangeDetectorRef,
               private readonly translate: TranslateService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog,
               protected readonly _router: Router) {
-    super(store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, {
+    super(store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, {
       canCreate: false,
     }, LocalStateEnum.preservation);
   }
@@ -199,7 +204,8 @@ export class AipListRoutable extends SharedAbstractListRoutable<Aip, Preservatio
   }
 
   getAipListWithParameter(isArchivalUnit: boolean | undefined): void {
-    const queryParameter = new QueryParameters(environment.defaultPageSize);
+    let queryParameter = ResourceState.queryParametersSnapshot(this.store, PreservationAipState);
+    queryParameter = QueryParametersUtil.clone(queryParameter);
     if (!isNullOrUndefined(isArchivalUnit)) {
       MappingObjectUtil.set(queryParameter.search.searchItems, "archivalUnit", isArchivalUnit.toString());
     }
diff --git a/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts b/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts
index bc05ce343797f8ac48df64cc399551ba06c292e5..c855e3072a56f419056317da3cff46d3a1aaa316 100644
--- a/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts
+++ b/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts
@@ -7,15 +7,15 @@ import {
 import {MatDialog} from "@angular/material/dialog";
 import {ActivatedRoute} from "@angular/router";
 import {DipStateModel} from "@app/features/preservation/dip/stores/dip.state";
-import {
-  Dip,
-  PreservationJob,
-} from "@models";
 import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@app/shared/enums/field-type.enum";
 import {LocalStateEnum} from "@app/shared/enums/local-state.enum";
 import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action";
 import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state";
+import {
+  Dip,
+  PreservationJob,
+} from "@models";
 import {
   Actions,
   Store,
@@ -27,6 +27,7 @@ import {
 import {PackageStatusEnumHelper} from "@shared/enums/business/package-status.enum";
 import {DataTableComponentEnum} from "@shared/enums/data-table-component.enum";
 import {DataTableActions} from "@shared/models/data-table-actions.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   Override,
@@ -52,9 +53,10 @@ export class DipListRoutable extends SharedAbstractListRoutable<Dip, DipStateMod
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_dip, preservationDipActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_dip, preservationDipActionNameSpace, {
       canCreate: false,
     }, LocalStateEnum.preservation);
   }
diff --git a/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts b/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts
index f3155b0c60e5c5f50c2d52c7f90d1988236433bc..287afaf26f73313b6c1ccf4455b0e586e654fcb8 100644
--- a/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts
+++ b/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts
@@ -24,6 +24,7 @@ import {LocalStateEnum} from "@shared/enums/local-state.enum";
 import {RoutesEnum} from "@shared/enums/routes.enum";
 import {JobRecurrence} from "@shared/models/business/job-recurrence.model";
 import {DataTableActions} from "@shared/models/data-table-actions.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   isNullOrUndefined,
   OrderEnum,
@@ -46,9 +47,10 @@ export class JobListRoutable extends SharedAbstractListRoutable<PreservationJobE
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_job, preservationJobActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_job, preservationJobActionNameSpace, {
       listExtraButtons: [
         {
           color: "primary",
diff --git a/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts b/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts
index ab5aabcaf1f6afaae2bfb0cbd7e34226d46d80e0..51bd8f5404b3c91275c3363f328061d723d42b8c 100644
--- a/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts
+++ b/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts
@@ -7,15 +7,15 @@ import {
 import {MatDialog} from "@angular/material/dialog";
 import {ActivatedRoute} from "@angular/router";
 import {SipStateModel} from "@app/features/preservation/sip/stores/sip.state";
-import {
-  PreservationJob,
-  Sip,
-} from "@models";
 import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable";
 import {FieldTypeEnum} from "@app/shared/enums/field-type.enum";
 import {LocalStateEnum} from "@app/shared/enums/local-state.enum";
 import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action";
 import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state";
+import {
+  PreservationJob,
+  Sip,
+} from "@models";
 import {
   Actions,
   Store,
@@ -26,6 +26,7 @@ import {
 } from "@preservation/sip/stores/sip.action";
 import {PackageStatusEnumHelper} from "@shared/enums/business/package-status.enum";
 import {DataTableActions} from "@shared/models/data-table-actions.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {
   OrderEnum,
   Override,
@@ -51,9 +52,10 @@ export class SipListRoutable extends SharedAbstractListRoutable<Sip, SipStateMod
   constructor(protected readonly _store: Store,
               protected readonly _changeDetector: ChangeDetectorRef,
               protected readonly _route: ActivatedRoute,
+              protected readonly _routerExt: RouterExtService,
               protected readonly _actions$: Actions,
               protected readonly _dialog: MatDialog) {
-    super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_sip, preservationSipActionNameSpace, {
+    super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_sip, preservationSipActionNameSpace, {
       canCreate: false,
     }, LocalStateEnum.preservation);
   }
diff --git a/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts b/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts
index 15934258af9968ab92b621ffb0cc140a51ddfe9f..65324659263dfbe1271436cbf36b006d59c6a370 100644
--- a/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts
@@ -51,6 +51,7 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba
   @Select((state: LocalStateModel) => state.router.state) urlStateObs: Observable<RouterStateSnapshot>;
 
   isLoadingObs: Observable<boolean> = this._store.select(s => StoreUtil.isLoadingState(super.getState(s)));
+  queryParametersObs: Observable<QueryParameters> = this._store.select(s => super.getState(s).queryParameters);
   currentObs: Observable<TResourceModel> = this._store.select(s => super.getState(s).current).pipe(
     tap(current => this.current = current),
   );
@@ -99,7 +100,8 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba
   }
 
   protected cleanState(): void {
-    this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, new QueryParameters()));
+    const queryParameters = this._store.selectSnapshot(s => super.getState(s).queryParameters);
+    this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, queryParameters));
   }
 
   protected retrieveResIdFromUrl(): void {
diff --git a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
index 49184ef288a459a9fd2187c301bcf2729baba37b..28ace32a5c0f367a75b6414b32a3c0e1c7c0bfbb 100644
--- a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts
@@ -27,6 +27,7 @@ import {RoutesEnum} from "@shared/enums/routes.enum";
 import {DataTableActions} from "@shared/models/data-table-actions.model";
 import {DeleteDialog} from "@shared/models/delete-dialog.model";
 import {ExtraButtonToolbar} from "@shared/models/extra-button-toolbar.model";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {StoreDialogUtil} from "@shared/utils/store-dialog.util";
 import {Observable} from "rxjs";
 import {tap} from "rxjs/operators";
@@ -64,6 +65,7 @@ export abstract class SharedAbstractListRoutable<TResourceModel extends BaseReso
   protected constructor(protected readonly _store: Store,
                         protected readonly _changeDetector: ChangeDetectorRef,
                         protected readonly _route: ActivatedRoute,
+                        protected readonly _routerExt: RouterExtService,
                         protected readonly _actions$: Actions,
                         protected readonly _dialog: MatDialog,
                         protected readonly _state: LocalStateEnum,
@@ -79,6 +81,9 @@ export abstract class SharedAbstractListRoutable<TResourceModel extends BaseReso
 
   ngOnInit(): void {
     super.ngOnInit();
+    if (!this._routerExt.previousRouteIsChild()) {
+      this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, new QueryParameters()));
+    }
     this.defineColumns();
     this.actions = this.defineActions();
   }
diff --git a/src/app/shared/services/router-ext.service.ts b/src/app/shared/services/router-ext.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8933f5bd295516916399e640b2b43ef8b43ff6c9
--- /dev/null
+++ b/src/app/shared/services/router-ext.service.ts
@@ -0,0 +1,35 @@
+import {Injectable} from "@angular/core";
+import {
+  NavigationEnd,
+  Router,
+} from "@angular/router";
+
+@Injectable({
+  providedIn: "root",
+})
+export class RouterExtService {
+  private previousUrl: string = undefined;
+  private currentUrl: string = undefined;
+
+  constructor(private router: Router) {
+    this.currentUrl = this.router.url;
+    router.events.subscribe(event => {
+      if (event instanceof NavigationEnd) {
+        this.previousUrl = this.currentUrl;
+        this.currentUrl = event.url;
+      }
+    });
+  }
+
+  public getPreviousUrl(): string {
+    return this.previousUrl;
+  }
+
+  public getCurrentUrl(): string {
+    return this.currentUrl;
+  }
+
+  public previousRouteIsChild(): boolean {
+    return this.previousUrl.includes(this.currentUrl);
+  }
+}
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
index dc381942436164232120f78da14f2aefa4c8cf0b..b392d80e124832c91543f9995f9bca948b0a7508 100644
--- a/src/app/shared/shared.module.ts
+++ b/src/app/shared/shared.module.ts
@@ -98,6 +98,7 @@ import {AppStatusService} from "@shared/services/app-status.service";
 import {BreakpointService} from "@shared/services/breakpoint.service";
 import {CanDeactivateGuard} from "@shared/services/can-deactivate-guard.service";
 import {OrcidService} from "@shared/services/orcid.service";
+import {RouterExtService} from "@shared/services/router-ext.service";
 import {SecurityService} from "@shared/services/security.service";
 import {SharedDisseminationPolicyState} from "@shared/stores/dissemination-policy/shared-dissemination-policy.state";
 import {SharedFundingAgencyState} from "@shared/stores/funding-agency/shared-funding-agency.state";
@@ -203,6 +204,7 @@ const services = [
   AppStatusService,
   SecurityService,
   OrcidService,
+  RouterExtService,
 ];
 const modules = [
   CommonModule,