diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts
index a29653afe40545a68e490423fc37ddc43d71d528..de9784337a53079c6f907f4622e592b778b4fec7 100644
--- a/src/frontend/app/indexation/indexation.component.ts
+++ b/src/frontend/app/indexation/indexation.component.ts
@@ -208,11 +208,6 @@ export class IndexationComponent implements OnInit {
     }
 
     saveDocument(data: any, index: number) {
-        data.forEach((element: any) => {
-            (element.workflow as any[]).forEach((item: any) => {
-                item.signaturePositions = (item.signaturePositions as any[]).filter((el: any) => el.docIndex === data.indexOf(element));
-            });
-        });
         return new Promise((resolve) => {
             this.http.post('../rest/documents', data[index]).pipe(
                 tap(() => {
@@ -260,7 +255,9 @@ export class IndexationComponent implements OnInit {
             if (file.reference !== '') {
                 formattedReference = this.datePipe.transform(today, 'y/MM/dd') + '/' + file.reference;
             }
+
             formattedObj.push({
+                docIndex: file.docIndex,
                 title: file.title,
                 reference: formattedReference,
                 encodedDocument: file.content,
@@ -277,7 +274,7 @@ export class IndexationComponent implements OnInit {
                     userId: item.userId,
                     mode: this.authService.getWorkflowMode(item.role),
                     signatureMode: this.authService.getSignatureMode(item.role),
-                    signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined)).map((itemFile: any) => ({
+                    signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined && pos.docIndex === file.docIndex)).map((itemFile: any) => ({
                         page: itemFile.page,
                         docIndex: itemFile.docIndex,
                         positionX: itemFile.position.positionX,
@@ -318,7 +315,8 @@ export class IndexationComponent implements OnInit {
                         title: filename.substr(0, filename.lastIndexOf('.')),
                         reference: filename.substr(0, filename.lastIndexOf('.')).substr(0, 53),
                         mainDocument: true,
-                        content: ''
+                        content: '',
+                        docIndex: index,
                     };
                     const reader = new FileReader();
                     reader.readAsArrayBuffer(fileInput.target.files[index]);
@@ -327,6 +325,7 @@ export class IndexationComponent implements OnInit {
                         file.reference = this.filesToUpload.length === 0 ? file.reference : '';
                         file.content = this.getBase64Document(value.target.result);
                         this.filesToUpload.push(file);
+                        this.setFilePosition();
                         if (this.filesToUpload.length === 1) {
                             setTimeout(() => {
                                 this.menu.open('right-menu');
@@ -345,6 +344,11 @@ export class IndexationComponent implements OnInit {
         });
     }
 
+    setFilePosition() {
+        this.filesToUpload.forEach((file: any, position: number) => {
+            file['docIndex'] = position;
+        });
+    }
 
     isExtensionAllowed(files: any[]) {
         for (let index = 0; index < files.length; index++) {
@@ -370,6 +374,7 @@ export class IndexationComponent implements OnInit {
                 element.signaturePositions = [];
             });
         }
+        this.setFilePosition();
     }
 
     async signPos(index: number) {