diff --git a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.ts b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.ts
index fc91debf7f0ae24aa6a5559f29993bdb0ae00bbd..20b9d548202ebdd65544194f1cb6a1f289cefe75 100644
--- a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.ts
+++ b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.ts
@@ -305,6 +305,7 @@ export class SendSignatureBookActionComponent implements AfterViewInit {
         });
 
         if (['optional', 'mandatory_final'].indexOf(this.workflowSignatoryRole) > -1) {
+            this.lastOneMustBeSignatory = this.workflowSignatoryRole === 'mandatory_final';
             this.atLeastOneSign = true;
         } else {
             this.atLeastOneSign = nbSignRole >= 1;
@@ -332,11 +333,14 @@ export class SendSignatureBookActionComponent implements AfterViewInit {
                     this.maximumSignRole = data.parameter.param_value_int;
                     resolve(true);
                 }),
-                exhaustMap(() => this.http.get('../rest/parameters/workflowEndBySignatory')),
+                exhaustMap(() => this.http.get('../rest/parameters/workflowSignatoryRole')),
                 tap((data: any) => {
-                    this.lastOneMustBeSignatory = data.parameter.param_value_int !== 0;
+                    if (!this.functions.empty(data.parameter)) {
+                        this.workflowSignatoryRole = data.parameter.param_value_string;
+                    }
                     resolve(true);
                 }),
+                finalize(() => this.checkWorkflowParameters(this.appVisaWorkflow.getWorkflow())),
                 catchError((err: any) => {
                     this.notify.handleErrors(err);
                     resolve(false);