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();
         }
     }
