diff --git a/src/app/features/preservation/job/stores/preservation-job.action.ts b/src/app/features/preservation/job/stores/preservation-job.action.ts
index 7d4da0f3c933f2237718fad72e9d24ba7f3941ec..19d79ad34b28ef78ddcc893539f5dd3111b1243a 100644
--- a/src/app/features/preservation/job/stores/preservation-job.action.ts
+++ b/src/app/features/preservation/job/stores/preservation-job.action.ts
@@ -170,6 +170,13 @@ export namespace PreservationJobAction {
     static readonly type: string = `[${state}] Start Fail`;
   }
 
+  export class VerifyStartSuccess extends BaseAction {
+    static readonly type: string = `[${state}] Start Success`;
+
+    constructor(public resId: string) {
+      super();
+    }
+  }
   export class VerifyStartFail extends BaseSubAction<Start> {
     static readonly type: string = `[${state}] Verify Start Fail`;
   }
diff --git a/src/app/features/preservation/job/stores/preservation-job.state.ts b/src/app/features/preservation/job/stores/preservation-job.state.ts
index a4281b3241b98c2ba83092cd664044e55afe3f6c..f40b3ee49c9d15ae59183eb8b1e238cdadfba92a 100644
--- a/src/app/features/preservation/job/stores/preservation-job.state.ts
+++ b/src/app/features/preservation/job/stores/preservation-job.state.ts
@@ -9,21 +9,37 @@ import {
   preservationJobActionNameSpace,
 } from "@app/features/preservation/job/stores/preservation-job.action";
 import {LocalStateEnum} from "@app/shared/enums/local-state.enum";
-import {Action, Actions, Selector, State, StateContext, Store,} from "@ngxs/store";
+import {environment} from "@environments/environment";
+import {
+  Action,
+  Actions,
+  Selector,
+  State,
+  StateContext,
+  Store,
+} from "@ngxs/store";
 import {PreservationJobExtended} from "@preservation/job/models/preservation-job-extended.model";
 import {ApiActionEnum} from "@shared/enums/api-action.enum";
+import {ApiResourceNameEnum} from "@shared/enums/api-resource-name.enum";
 import {PreservationPlanningResourceApiEnum} from "@shared/enums/api.enum";
+import {JobStatusEnum} from "@shared/enums/business/job-status.enum";
 import {RoutesEnum} from "@shared/enums/routes.enum";
+import {JobExecution} from "@shared/models/business/job-execution.model";
 import {JobRecurrence} from "@shared/models/business/job-recurrence.model";
 import {JobType} from "@shared/models/business/job-type.model";
 import {Observable} from "rxjs";
-import {catchError, tap,} from "rxjs/operators";
+import {
+  catchError,
+  tap,
+} from "rxjs/operators";
 import {
   ApiService,
   defaultResourceStateInitValue,
   isEmptyArray,
   isNullOrUndefined,
+  MappingObjectUtil,
   NotificationService,
+  QueryParameters,
   ResourceState,
   ResourceStateModel,
   SolidifyStateError,
@@ -31,7 +47,6 @@ import {
   TRANSLATE,
   urlSeparator,
 } from "solidify-frontend";
-import {JobStatusEnum} from "@shared/enums/business/job-status.enum";
 
 export interface PreservationJobStateModel extends ResourceStateModel<PreservationJobExtended> {
   listJobTypes: JobType[] | undefined;
@@ -53,6 +68,7 @@ export interface PreservationJobStateModel extends ResourceStateModel<Preservati
   ],
 })
 export class PreservationJobState extends ResourceState<PreservationJobStateModel, PreservationJobExtended> {
+
   constructor(protected apiService: ApiService,
               protected store: Store,
               protected notificationService: NotificationService,
@@ -136,12 +152,18 @@ export class PreservationJobState extends ResourceState<PreservationJobStateMode
 
   @Action(PreservationJobAction.VerifyBeforeStart)
   verifyBeforeStart(ctx: StateContext<PreservationJobStateModel>, action: PreservationJobAction.VerifyBeforeStart): Observable<any> {
+    ctx.patchState({
+      isLoadingCounter: ctx.getState().isLoadingCounter + 1,
+    });
+
+    const JOB_EXEC_STATUS: keyof JobExecution = "status";
+    const queryParameters = new QueryParameters(environment.minimalPageSizeToRetrievePaginationInfo);
+    MappingObjectUtil.set(queryParameters.search.searchItems, JOB_EXEC_STATUS, JobStatusEnum.IN_PROGRESS);
 
-    return this.apiService.get<PreservationJobExtended>(this._urlResource, ctx.getState().queryParameters).pipe(
+    return this.apiService.get<JobExecution>(this._urlResource + urlSeparator + action.resId + urlSeparator + ApiResourceNameEnum.PRES_JOB_EXECUTION, queryParameters).pipe(
       tap(result => {
-        const preservationJobExtendeds = result._data.filter(element => element.lastExecutionStatus === JobStatusEnum.IN_PROGRESS);
-        if(isEmptyArray(preservationJobExtendeds)){
-          ctx.dispatch(new PreservationJobAction.Start(action.resId));
+        if(isEmptyArray(result._data)){
+          ctx.dispatch(new PreservationJobAction.VerifyBeforeStart(action.resId));
         }else {
           ctx.dispatch(new PreservationJobAction.VerifyStartFail(action));
         }
@@ -186,6 +208,14 @@ export class PreservationJobState extends ResourceState<PreservationJobStateMode
     this.notificationService.showError(TRANSLATE("preservation.job.notification.start.fail"));
   }
 
+  @Action(PreservationJobAction.VerifyStartSuccess)
+  verifyStartSuccess(ctx: StateContext<PreservationJobStateModel>, action: PreservationJobAction.VerifyStartSuccess): void {
+    ctx.patchState({
+      isLoadingCounter: ctx.getState().isLoadingCounter - 1,
+    });
+    ctx.dispatch(new PreservationJobAction.Start(action.resId));
+  }
+
   @Action(PreservationJobAction.VerifyStartFail)
   verifyStartFail(ctx: StateContext<PreservationJobStateModel>, action: PreservationJobAction.VerifyStartFail): void {
     ctx.patchState({