diff --git a/src/app/layouts/header/HeaderComponent.ts b/src/app/layouts/header/HeaderComponent.ts
index 13e2129..fa932b8 100644
--- a/src/app/layouts/header/HeaderComponent.ts
+++ b/src/app/layouts/header/HeaderComponent.ts
@@ -19,6 +19,7 @@
 /**
  * @file Header Component
  */
+import { isNullOrUndefined } from 'util';
 import { Component, Injector, OnInit } from '@angular/core';
 import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
 import { TranslateService } from '@ngx-translate/core';
@@ -75,6 +76,9 @@
     /** handle translate @public */
     public translateService: TranslateService;
 
+    /** Version holds version @public */
+    public getLocalStorageVersion: string;
+
     /** Utilizes auth service for any auth operations @private */
     private authService: AuthenticationService;
 
@@ -101,14 +105,19 @@
         this.authService.ProjectName.subscribe((projectNameFinal: string): void => {
             this.getSelectedProject = projectNameFinal;
         });
+        this.sharedService.fetchOSMVersion();
         this.username$ = this.authService.username;
         this.projectService.setHeaderProjects();
         this.projectList$ = this.projectService.projectList;
         this.PACKAGEVERSION = environment.packageVersion;
-        const getLocalStorageVersion: string = sessionStorage.getItem('osmVersion');
-        if (getLocalStorageVersion === null) {
+        if (!isNullOrUndefined(sessionStorage.getItem('version'))) {
+            this.getLocalStorageVersion = sessionStorage.getItem('version');
+        } else if (!isNullOrUndefined(this.sharedService.osmVersion)) {
+            this.getLocalStorageVersion = this.sharedService.osmVersion;
+        }
+        if (this.getLocalStorageVersion === null) {
             this.showNewVersion();
-        } else if (getLocalStorageVersion !== this.sharedService.osmVersion) {
+        } else if (this.getLocalStorageVersion !== sessionStorage.getItem('osmVersion')) {
             this.showNewVersion();
         }
     }
diff --git a/src/services/AuthenticationService.ts b/src/services/AuthenticationService.ts
index a8950e5..d01eec6 100644
--- a/src/services/AuthenticationService.ts
+++ b/src/services/AuthenticationService.ts
@@ -199,7 +199,7 @@
         this.changePassword.next(false);
         const langCode: string = sessionStorage.getItem('languageCode');
         const redirecturl: string = isNullOrUndefined(sessionStorage.getItem('returnUrl')) ? '/' : sessionStorage.getItem('returnUrl');
-        const osmVersion: string = isNullOrUndefined(sessionStorage.getItem('osmVersion')) ? '' : sessionStorage.getItem('osmVersion');
+        const osmVersion: string = isNullOrUndefined(sessionStorage.getItem('version')) ? '' : sessionStorage.getItem('version');
         sessionStorage.clear();
         sessionStorage.setItem('languageCode', langCode);
         sessionStorage.setItem('returnUrl', redirecturl);
diff --git a/src/services/SharedService.ts b/src/services/SharedService.ts
index e8eac94..2a5f50f 100644
--- a/src/services/SharedService.ts
+++ b/src/services/SharedService.ts
@@ -414,6 +414,7 @@
             const version: string[] = res.version.split('+');
             if (!isNullOrUndefined(version[0])) {
                 this.osmVersion = version[0];
+                sessionStorage.setItem('version', version[0]);
             } else {
                 this.osmVersion = null;
             }
