diff --git a/src/app/common-components/message-banner/message-banner.component.html b/src/app/common-components/message-banner/message-banner.component.html
index e331543..d991a93 100644
--- a/src/app/common-components/message-banner/message-banner.component.html
+++ b/src/app/common-components/message-banner/message-banner.component.html
@@ -1,5 +1,5 @@
 <div style="width:100%;">
-  <div style="margin: 36px 10px 0px 10px;" *ngIf="sessionContext.bannerMessage.isActive" [ngClass]="{'alert':true, 
+  <div style="margin: 36px 10px 0px 10px;" *ngIf="zOrder===getMaxMessageBannerZOrder() && sessionContext.bannerMessage.isActive" [ngClass]="{'alert':true, 
   'alert-danger':sessionContext.bannerMessage.status===bannerMessageStatus.error,
   'alert-info':sessionContext.bannerMessage.status===bannerMessageStatus.info,
   'alert-warning':sessionContext.bannerMessage.status===bannerMessageStatus.warning,
diff --git a/src/app/common-components/message-banner/message-banner.component.ts b/src/app/common-components/message-banner/message-banner.component.ts
index 1f4f1c5..0354dab 100644
--- a/src/app/common-components/message-banner/message-banner.component.ts
+++ b/src/app/common-components/message-banner/message-banner.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit, OnDestroy, Input } from '@angular/core';
 import { BannerMessageStatusEn } from '../../common/enums';
 import { SessionContext } from '../../common/session-context';
 
@@ -7,16 +7,40 @@
   templateUrl: './message-banner.component.html',
   styleUrls: ['./message-banner.component.css']
 })
-export class MessageBannerComponent implements OnInit {
+
+
+export class MessageBannerComponent implements OnInit, OnDestroy {
+  static allComponents: Map< MessageBannerComponent, Number > = new Map<MessageBannerComponent, Number>();
+  @Input() zOrder: Number = 0;
 
 
   
   bannerMessageStatus = BannerMessageStatusEn;
   
 
-  constructor(public sessionContext: SessionContext) { }
+  constructor(public sessionContext: SessionContext) { 
+  }
 
   ngOnInit() {
+    MessageBannerComponent.allComponents.set(this, this.zOrder );    
+  }
+
+  ngOnDestroy() {
+    MessageBannerComponent.allComponents.delete(this);
+  }
+
+  getMaxMessageBannerZOrder(): Number {
+    const iter =  MessageBannerComponent.allComponents.values();
+    let maxValue: Number = 0;
+    let item = iter.next();
+    while ( item != null && !item.done ) {
+      if ( item.value > maxValue ) {
+        maxValue = item.value;
+      }
+      item = iter.next();
+    }
+
+    return maxValue;
   }
 
 }
diff --git a/src/app/common/session-context.ts b/src/app/common/session-context.ts
index 2286f69..658f4e5 100644
--- a/src/app/common/session-context.ts
+++ b/src/app/common/session-context.ts
@@ -28,7 +28,8 @@
     public importFileAvailable = false;
     public filterExpanded = false;
     private notificationHistoryExpansionStates: NotificationHistoryExpansionState[];
-    public sortingState: SortingState;    
+    public sortingState: SortingState; 
+ 
 
     bannerMessage: BannerMessage = new BannerMessage();
     getCurrSessionId(): string { return localStorage.getItem(Globals.LOCALSTORAGE_SESSION_ID); }
diff --git a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
index 2e534bc..9053d72 100644
--- a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
+++ b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
@@ -6,7 +6,7 @@
 
 <div id="print-section" class="dialog">
   <div class="panel panel-default margin-zero">
-      <app-message-banner></app-message-banner>
+      <app-message-banner zOrder="1"></app-message-banner>
     <div class="panel-body shift-change-protocol-panel-body">
       <app-responsibility #respCompVar [responsiblitySelection]="responsibilitiesContainer"></app-responsibility>
       <app-future-notifications [withCheckboxes]="true" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFutureNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-future-notifications>
