diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index e12e5260384b0dd74c73386f24e6389de43142df..43e8c0f2cae73777a948eb1642331225313445bb 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -377,16 +377,20 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     );
     dialogRef.afterClosed().subscribe(result => {
       if (result) {
-        for (const c of this._calculators) {
-          const form = this.formulaireService.getFormulaireFromId(c.uid);
-          this.formulaireService.requestCloseForm(form.uid);
-        }
-        // just to be sure, get rid of any Nub possibly stuck in session without any form attached
-        Session.getInstance().clearSession();
+        this.doEmptySession();
       }
     });
   }
 
+  public doEmptySession() {
+    for (const c of this._calculators) {
+      const form = this.formulaireService.getFormulaireFromId(c.uid);
+      this.formulaireService.requestCloseForm(form.uid);
+    }
+    // just to be sure, get rid of any Nub possibly stuck in session without any form attached
+    Session.getInstance().clear();
+  }
+
   public loadSession() {
     // création du dialogue de sélection des formulaires à sauver
     const dialogRef = this.loadSessionDialog.open(
@@ -395,6 +399,9 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     );
     dialogRef.afterClosed().subscribe(result => {
       if (result) {
+        if (result.emptySession) {
+          this.doEmptySession();
+        }
         this.formulaireService.loadSession(result.file, result.calculators);
       }
     });
diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.html b/src/app/components/dialog-load-session/dialog-load-session.component.html
index 97e2d6e4296093ab83d1575c2dee75b65b934bae..5a560987c3433b6456430317a4f2e3c07d527a82 100644
--- a/src/app/components/dialog-load-session/dialog-load-session.component.html
+++ b/src/app/components/dialog-load-session/dialog-load-session.component.html
@@ -43,6 +43,12 @@
     </div>
   </div>
 
+  <div class="cb-container">
+    <mat-checkbox [(ngModel)]="emptyCurrentSession" [ngModelOptions]="{standalone: true}">
+      {{ uitextEmptyCurrentSession }}
+    </mat-checkbox>
+  </div>
+
   <div mat-dialog-actions>
     <button mat-raised-button color="primary" [mat-dialog-close]="false" cdkFocusInitial>
       {{ uitextCancel }}
diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.ts b/src/app/components/dialog-load-session/dialog-load-session.component.ts
index b91673e4bfaf924ba1e5350971bf702c7c2f841f..016cac379dc0d1855c749396a5992ded4cf45cb5 100644
--- a/src/app/components/dialog-load-session/dialog-load-session.component.ts
+++ b/src/app/components/dialog-load-session/dialog-load-session.component.ts
@@ -19,6 +19,8 @@ export class DialogLoadSessionComponent {
 
     public dependenciesProblems: any[] = [];
 
+    public emptyCurrentSession = false;
+
     constructor(
       public dialogRef: MatDialogRef<DialogLoadSessionComponent>,
       private intlService: I18nService,
@@ -133,7 +135,8 @@ export class DialogLoadSessionComponent {
     public loadSession() {
       this.dialogRef.close({
         calculators: this.calculators,
-        file: this.file
+        file: this.file,
+        emptySession: this.emptyCurrentSession
       });
     }
 
@@ -172,4 +175,8 @@ export class DialogLoadSessionComponent {
     public get uitextFixMissingDependencies() {
       return this.intlService.localizeText("INFO_DIALOG_FIX_MISSING_DEPENDENCIES");
     }
+
+    public get uitextEmptyCurrentSession() {
+      return this.intlService.localizeText("INFO_DIALOG_EMPTY_CURRENT_SESSION");
+    }
 }
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 66c9f9d6b2cad2a4dd1c6b03f91eefc3cb7ef127..8f555f4907f9f935f764aa6e45aec112844a1f3e 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -62,6 +62,7 @@
     "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Submerged",
     "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Zero flow",
     "INFO_DIALOG_COMPUTED_VALUE_TITLE": "Edit initial value",
+    "INFO_DIALOG_EMPTY_CURRENT_SESSION": "Empty current session",
     "INFO_DIALOG_FIX_MISSING_DEPENDENCIES": "Fix missing dependencies",
     "INFO_DIALOG_LOAD_SESSION_FILENAME": "Choose a file",
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Load calculator modules",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index c8d611b36384e93c205ce550552e61c34df6bfc1..5d719c76a3249aea9913f20f47ae645fbcd160e9 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -62,6 +62,7 @@
     "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Noyé",
     "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Débit nul",
     "INFO_DIALOG_COMPUTED_VALUE_TITLE": "Modifier la valeur initiale",
+    "INFO_DIALOG_EMPTY_CURRENT_SESSION": "Vider la session courante",
     "INFO_DIALOG_FIX_MISSING_DEPENDENCIES": "Résoudre les dépendances",
     "INFO_DIALOG_LOAD_SESSION_FILENAME": "Choisir un fichier",
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Charger des modules de calcul",