diff --git a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss
index 32c9632666ea755d21453431446e90301606e5c3..5f53d26c0317fbd0567e0b1e9d1e2f9fd2ececc5 100644
--- a/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss
+++ b/src/app/features/deposit/components/containers/deposit-document-file/deposit-document-file.container.scss
@@ -12,6 +12,12 @@
     display: grid;
     justify-content: center;
     grid-template-columns: 1fr;
+
+    ::ng-deep {
+      .header-button-and-pagination {
+        display: none !important;
+      }
+    }
   }
 
   .upload-button-wrapper {
diff --git a/src/app/features/deposit/components/presentationals/deposit-form/deposit-form.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form/deposit-form.presentational.ts
index ae362eda45ff23403b8a53a18accdbe06865f7ed..59a21bdc0b1e52162688d9d0f94c9cd3fa043ee8 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form/deposit-form.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form/deposit-form.presentational.ts
@@ -102,6 +102,7 @@ import {
   ConfirmDialog,
   ConfirmDialogData,
   isArray,
+  isFalse,
   isNonEmptyArray,
   isNonEmptyString,
   isNotNullNorUndefined,
@@ -195,6 +196,9 @@ export class DepositFormPresentational extends AbstractPresentational implements
   @Input()
   model: Deposit;
 
+  @Input()
+  isPdfFilePresent: boolean;
+
   depositFormModel: DepositFormModel;
 
   isImported: boolean = false;
@@ -688,10 +692,15 @@ export class DepositFormPresentational extends AbstractPresentational implements
       return;
     }
 
-    if (!force && stepValue === Enums.Deposit.StepEnum.CONTRIBUTORS) {
+    if (!force && stepValue === Enums.Deposit.StepEnum.FILES && isFalse(this.isPdfFilePresent) && targetRoutingAfterSave > 0) {
+      this.displayNoPdfFileDialog(targetRoutingAfterSave);
+      return;
+    }
+
+    if (!force && stepValue === Enums.Deposit.StepEnum.CONTRIBUTORS && targetRoutingAfterSave > 0) {
       const check = this.getCheckContributorCondition();
       if (check !== ContributorUnigeCheck.OK) {
-        this.displayConfirmationNoContributors(check, targetRoutingAfterSave);
+        this.displayConfirmationNoContributorsDialog(check, targetRoutingAfterSave);
         return;
       }
     }
@@ -703,7 +712,26 @@ export class DepositFormPresentational extends AbstractPresentational implements
     this.update(stepValue, targetRoutingAfterSave);
   }
 
-  private displayConfirmationNoContributors(check: ContributorUnigeCheck, targetRoutingAfterSave: Enums.Deposit.TargetRoutingAfterSaveEnum): void {
+  private displayNoPdfFileDialog(targetRoutingAfterSave: Enums.Deposit.TargetRoutingAfterSaveEnum): void {
+    this.subscribe(this._dialog.open(ConfirmDialog, {
+      data: {
+        titleToTranslate: MARK_AS_TRANSLATABLE("deposit.file.warning.noPdfFile.title"),
+        messageToTranslate: MARK_AS_TRANSLATABLE("deposit.file.warning.noPdfFile.message"),
+        cancelButtonToTranslate: LabelTranslateEnum.cancel,
+      } as ConfirmDialogData,
+    }).afterClosed().pipe(
+      tap((isConfirmed: boolean | undefined) => {
+        if (isNullOrUndefined(isConfirmed)) {
+          return;
+        }
+        if (isTrue(isConfirmed)) {
+          this.move(Enums.Deposit.publicationStepEnumNumber(Enums.Deposit.StepEnum.FILES), targetRoutingAfterSave, true);
+        }
+      }),
+    ));
+  }
+
+  private displayConfirmationNoContributorsDialog(check: ContributorUnigeCheck, targetRoutingAfterSave: Enums.Deposit.TargetRoutingAfterSaveEnum): void {
     let title = SOLIDIFY_CONSTANTS.STRING_EMPTY;
     let message = SOLIDIFY_CONSTANTS.STRING_EMPTY;
     let confirmButton = LabelTranslateEnum.yesImSure;
diff --git a/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.html b/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.html
index 2ef4f3557816440ebea4800dcafb73bf4e83c40a..c69c0482ee16f151ba2714e4ac6f70987ba975d1 100644
--- a/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.html
+++ b/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.html
@@ -26,6 +26,7 @@
                     [listStructure]="listStructureObs | async"
                     [listLanguages]="listLanguagesObs | async"
                     [isLoadingStructure]="isLoadingStructureObs | async"
+                    [isPdfFilePresent]="isPdfFilePresentObs | async"
                     [step]="currentStep"
                     [model]="currentObs | async"
                     (createChange)="create($event)"
diff --git a/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.ts b/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.ts
index b79279c43b15fe5b926453f0e918649fab3dd9dc..bcf2b44e90678e2085225b86484d0f5d4ee46b20 100644
--- a/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.ts
+++ b/src/app/features/deposit/components/routables/deposit-create-edit/deposit-create-edit.routable.ts
@@ -93,6 +93,11 @@ export class DepositCreateEditRoutable extends AbstractRoutable implements OnIni
   listLanguagesObs: Observable<Language[]> = MemoizedUtil.list(this._store, SharedLanguageState);
   isLoadingStructureObs: Observable<boolean> = MemoizedUtil.isLoading(this._store, SharedStructureState);
   defaultDataObs: Observable<DepositDefaultData> = MemoizedUtil.select(this._store, DepositState, state => state.defaultData);
+  isPdfFilePresentObs: Observable<boolean> = MemoizedUtil.select(this._store, DepositDocumentFileState, state =>
+    isNotNullNorUndefined(state.list)
+    &&
+    state.list.some(file => file.mimetype === "application/pdf" || file.mimetype === "application/x-pdf"),
+  );
 
   @HostBinding("class.is-edit")
   resId: string | undefined;
diff --git a/src/app/features/deposit/stores/document-file/deposit-document-file.state.ts b/src/app/features/deposit/stores/document-file/deposit-document-file.state.ts
index 25f7a238964a201c52108602ac2b2324d64351aa..1f7e34947047a1d0eea2d8b589c1999713e262b1 100644
--- a/src/app/features/deposit/stores/document-file/deposit-document-file.state.ts
+++ b/src/app/features/deposit/stores/document-file/deposit-document-file.state.ts
@@ -91,6 +91,7 @@ export interface DepositDocumentFileStateModel extends CompositionStateModel<Doc
   name: StateEnum.deposit_documentFile,
   defaults: {
     ...defaultDepositDocumentFileValue(),
+    queryParameters: new QueryParameters(environment.maximalPageSizeToRetrievePaginationInfo),
   },
   children: [
     DepositDocumentFileStatusHistoryState,
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index 47219a67de6597b9eb18a559bc25af90decb10f8..dfd2346fde1e017243bb46c0d8d61ec9fd901fdb 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -244,6 +244,12 @@
           },
           "success": "deposit.file.upload.notification.success"
         }
+      },
+      "warning": {
+        "noPdfFile": {
+          "message": "deposit.file.warning.noPdfFile.message",
+          "title": "deposit.file.warning.noPdfFile.title"
+        }
       }
     },
     "notification": {
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index c35d80703015283ed43a189740852346ba5298c1..eff7417bcb622c8c50c9dd806f866a670c7340bf 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -244,6 +244,12 @@
           },
           "success": "Upload successful"
         }
+      },
+      "warning": {
+        "noPdfFile": {
+          "message": "You have not provided any PDF file",
+          "title": "No PDF file"
+        }
       }
     },
     "notification": {
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index 0f4d1452d3ae94e6409e4ac2b9999c230be8d72a..a7bbdb0286c94ae05e094948be55416b6eefd3c4 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -244,6 +244,12 @@
           },
           "success": "Fichier envoyé avec succès"
         }
+      },
+      "warning": {
+        "noPdfFile": {
+          "message": "Vous n'avez fourni aucun fichier PDF",
+          "title": "Aucun fichier PDF"
+        }
       }
     },
     "notification": {