diff --git a/src/services/AuthenticationService.ts b/src/services/AuthenticationService.ts
index 728d4ac..0621763 100644
--- a/src/services/AuthenticationService.ts
+++ b/src/services/AuthenticationService.ts
@@ -164,10 +164,12 @@
         this.loggedIn.next(false);
         const langCode: string = localStorage.getItem('languageCode');
         const redirecturl: string = isNullOrUndefined(localStorage.getItem('returnUrl')) ? '/' : localStorage.getItem('returnUrl');
+        const osmVersion: string = isNullOrUndefined(localStorage.getItem('osmVersion')) ? '' : localStorage.getItem('osmVersion');
         localStorage.clear();
         localStorage.setItem('languageCode', langCode);
         localStorage.setItem('returnUrl', redirecturl);
         localStorage.setItem('token_state', null);
+        localStorage.setItem('osmVersion', osmVersion);
         this.idle.stop();
         this.router.navigate(['login']).catch();
     }
diff --git a/src/services/SharedService.ts b/src/services/SharedService.ts
index 48fbb17..26e5e07 100644
--- a/src/services/SharedService.ts
+++ b/src/services/SharedService.ts
@@ -129,14 +129,14 @@
     }
 
     /** Download Files function @public */
-    public downloadFiles(shortName: string, binaryData: Blob[], filetype: string): void {
+    public downloadFiles(name: string, binaryData: Blob[], filetype: string): void {
         const downloadLink: HTMLAnchorElement = document.createElement('a');
         downloadLink.href = window.URL.createObjectURL(new Blob(binaryData, { type: filetype }));
-        if (shortName !== undefined) {
+        if (name !== undefined) {
             if (window.navigator.msSaveOrOpenBlob) {
-                window.navigator.msSaveBlob(new Blob(binaryData, { type: filetype }), 'OSM_Export_' + shortName + '.tar.gz');
+                window.navigator.msSaveBlob(new Blob(binaryData, { type: filetype }), 'OSM_Export_' + name + '.tar.gz');
             } else {
-                downloadLink.setAttribute('download', 'OSM_Export_' + shortName + '.tar.gz');
+                downloadLink.setAttribute('download', 'OSM_Export_' + name + '.tar.gz');
                 document.body.appendChild(downloadLink);
                 downloadLink.click();
             }
