diff --git a/lang/fr.json b/lang/fr.json
index 1d152142708a1e243a78f9bb6a4bb9af704933e0..bcaaac91a3de7abc5c9c71e09f3d230c8b628ae9 100755
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -383,6 +383,7 @@
 		"generateLangVar": "Générer les variables de langues",
 		"generateLangVarIgnoreTranslate": "Générer les variables de langues (IGNORE __TO_TRANSLATE)",
 		"close": "Fermer",
-		"reorder" : "Réorganiser"
+		"reorder" : "Réorganiser",
+		"goToPage": "Aller à la page"
 	}
 }
diff --git a/src/frontend/app/document/document.component.html b/src/frontend/app/document/document.component.html
index 5ac19d751df6d658aaf5dfbbcb8cd94e9cf24703..65233bb2c90f285ffee35fdad059dc4848f1c11f 100755
--- a/src/frontend/app/document/document.component.html
+++ b/src/frontend/app/document/document.component.html
@@ -39,6 +39,9 @@
             </ion-button>
           </ion-buttons>
     </ion-toolbar>
+    <ion-toolbar *ngIf="(totalPages > 2) && (mainDocument.status !== 'CONVERTING')" color="light">
+        <ion-input max="{{totalPages}}" name="goToPage" [placeholder]="'lang.goToPage' | translate" (ionInput)="goTo($event.target.value)"></ion-input>
+    </ion-toolbar>
 </ion-header>
 <ion-toolbar class="ion-text-center" color="primary"
     *ngIf="authService.user.substitute !== null && !this.signaturesService.annotationMode && docList[currentDoc]">
diff --git a/src/frontend/app/document/document.component.ts b/src/frontend/app/document/document.component.ts
index 4a96c8cb594f7465b3a1b469b68c1bdac45e732c..e9bb52f93b87609e7ee8bf621199fcae242c1cdb 100755
--- a/src/frontend/app/document/document.component.ts
+++ b/src/frontend/app/document/document.component.ts
@@ -556,22 +556,28 @@ export class DocumentComponent implements OnInit {
     }
 
     goTo(page: number) {
-        this.loadingController.create({
-            message: 'Chargement du document',
-            spinner: 'dots'
-        }).then((load: HTMLIonLoadingElement) => {
-            this.load = load;
-            this.load.present();
-        });
-        this.loadingImage = true;
-        this.pageNum = page;
-
-        // only for main document
-        if (this.currentDoc === 0) {
-            this.signaturesService.currentPage = this.pageNum;
-        }
-        // this.exportAsImage();
-        this.renderImage();
+        setTimeout(() => {
+            this.loadingController.create({
+                message: 'Chargement du document',
+                spinner: 'dots'
+            }).then((load: HTMLIonLoadingElement) => {
+                this.load = load;
+                this.load.present();
+            });
+    
+            this.loadingImage = true;
+            if (page && page <= this.totalPages) {
+                this.pageNum = page;
+            } else {
+                this.pageNum = 1;
+            }
+            // only for main document
+            if (this.currentDoc === 0) {
+                this.signaturesService.currentPage = this.pageNum;
+            }
+            // this.exportAsImage();
+            this.renderImage();
+        }, 1000);
     }
 
     initWorkingArea() {