diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.html b/src/frontend/app/attachments/attachments-page/attachment-page.component.html
index a346b7c99c123012462044c8de968530b0e64b98..6c221a77b422ce6b0bd492b38127585d8684aa1a 100644
--- a/src/frontend/app/attachments/attachments-page/attachment-page.component.html
+++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.html
@@ -219,6 +219,6 @@
             [disabled]="!editMode || isEditing()">{{lang.mailing}}</button>
         <button mat-raised-button color="warn" *ngIf=" !loading && attachment.status.value === 'SIGN' && (privilegeService.hasCurrentUserPrivilege('sign_document') || this.headerService.user.id == attachment.typist.value)"
             (click)="deleteSignedVersion()">{{lang.deleteSignedVersion}}</button>
-        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.close}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" (click)="closeModal()">{{lang.close}}</button>
     </div>
 </div>
diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.ts b/src/frontend/app/attachments/attachments-page/attachment-page.component.ts
index 54373478134d13db67e63e1461855ca1422c5f9f..bb5903b1ea27e879cbf9583ce625e351a6732a9d 100644
--- a/src/frontend/app/attachments/attachments-page/attachment-page.component.ts
+++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.ts
@@ -362,4 +362,24 @@ export class AttachmentPageComponent implements OnInit {
         }
         return !this.appAttachmentViewer.isEditingTemplate();
     }
+
+    closeModal() {
+
+        if (this.appAttachmentViewer.isEditingTemplate()) {
+            const dialogRef = this.dialog.open(ConfirmComponent, { panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: { title: this.lang.close, msg: this.lang.editingDocumentMsg } });
+
+            dialogRef.afterClosed().pipe(
+                filter((data: string) => data === 'ok'),
+                tap(() => {
+                    this.dialogRef.close();
+                }),
+                catchError((err: any) => {
+                    this.notify.handleErrors(err);
+                    return of(false);
+                })
+            ).subscribe();
+        } else {
+            this.dialogRef.close();
+        }
+    }
 }
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 1164d4639fa5507acf41e0176131ee43e80c1e8f..27d14bb225e01704acadde2fa3603fe0a775854f 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1606,4 +1606,5 @@ export const LANG_EN = {
     "closeSidePanel" : "Close side panel",
     "openSidePanel" : "Open side panel",
     "saveAsPrivateModel" : "Save as private model",
+    "editingDocumentMsg" : "The edition of the document is in progress, do you want to continue ?",
 };
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index 7f586617a9613165f805a3b57133ea404a35f005..6f14f9a0797cfdbc7d205ba8298d201aeb1b8e21 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1645,4 +1645,5 @@ export const LANG_FR = {
     "closeSidePanel" : "Fermer le panneau latéral",
     "openSidePanel" : "Ouvrir le panneau latéral",
     "saveAsPrivateModel" : "Enregistrer en tant que modèle privé",
+    "editingDocumentMsg" : "Le document est en cours d'édition, voulez-vous continuer ?",
 };
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index 27f24c806327b1c00023d2d3f55abade8f1e55e7..476239a982f807ea215839bf1223b0daf8f979a8 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1631,4 +1631,5 @@ export const LANG_NL = {
     "closeSidePanel" : "Close side panel", //_TO_TRANSLATE
     "openSidePanel" : "Open side panel", //_TO_TRANSLATE
     "saveAsPrivateModel" : "Save as private model", //_TO_TRANSLATE
+    "editingDocumentMsg" : "The edition of the document is in progress, do you want to continue ?", //_TO_TRANSLATE
 };