diff --git a/app/index.js b/app/index.js
index 6e24319..715ed31 100644
--- a/app/index.js
+++ b/app/index.js
@@ -87,6 +87,7 @@
 import server_led_controller from './server-control/controllers/server-led-controller.js';
 import vm_controller from './server-control/controllers/virtual-media-controller.js';
 import kvm_console from './server-control/directives/kvm-console.js';
+import kvm_window_controller from './server-control/controllers/kvm-window-controller.js';
 
 import server_health_index from './server-health/index.js';
 import inventory_overview_controller from './server-health/controllers/inventory-overview-controller.js';
diff --git a/app/server-control/controllers/kvm-controller.html b/app/server-control/controllers/kvm-controller.html
index 2b30c99..8160bb4 100644
--- a/app/server-control/controllers/kvm-controller.html
+++ b/app/server-control/controllers/kvm-controller.html
@@ -1 +1,4 @@
-<kvm-console></kvm-console>
\ No newline at end of file
+<div class="kvm-page page">
+  <h1 class="page-title">IP KVM</h1>
+  <kvm-console new-window-btn="true"></kvm-console>
+</div>
diff --git a/app/server-control/controllers/kvm-window-controller.html b/app/server-control/controllers/kvm-window-controller.html
new file mode 100644
index 0000000..222d737
--- /dev/null
+++ b/app/server-control/controllers/kvm-window-controller.html
@@ -0,0 +1,8 @@
+<div class="kvm-window">
+  <div class="kvm__actions">
+    <button class="btn  btn-tertiary" ng-click="close()">
+      <icon file="icon-return.svg" aria-hidden="true"></icon>Return to OpenBmc
+    </button>
+  </div>
+  <kvm-console new-window-btn="false"></kvm-console>
+</div>
diff --git a/app/server-control/controllers/kvm-window-controller.js b/app/server-control/controllers/kvm-window-controller.js
new file mode 100644
index 0000000..e790f29
--- /dev/null
+++ b/app/server-control/controllers/kvm-window-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for kvm window
+ *
+ * @module app/serverControl
+ * @exports kvmWindowController
+ * @name kvmWindowController
+ */
+
+window.angular && (function(angular) {
+  'use strict';
+  angular.module('app.serverControl').controller('kvmWindowController', [
+    '$scope', '$window', 'dataService',
+    function($scope, $window, dataService) {
+      $scope.dataService = dataService;
+      dataService.showNavigation = false;
+      dataService.bodyStyle = {background: 'white'};
+
+      $scope.close = function() {
+        $window.close();
+        if (rfb) {
+          rfb.disconnect();
+        }
+      };
+    }
+  ]);
+})(angular);
\ No newline at end of file
diff --git a/app/server-control/directives/kvm-console.html b/app/server-control/directives/kvm-console.html
index 40e4d97..0b5f5d9 100644
--- a/app/server-control/directives/kvm-console.html
+++ b/app/server-control/directives/kvm-console.html
@@ -1,5 +1,13 @@
 <div id="noVNC_container">
-    <div id="noVNC_status_bar">
-        <div id="noVNC_left_dummy_elem"></div>
-    </div>
+  <div id="noVNC_status_bar">
+    <div id="noVNC_left_dummy_elem"></div>
+  </div>
+</div>
+<div class="kvm__actions float-right">
+  <button
+    class="btn  btn-tertiary"
+    ng-click="openWindow()"
+    ng-show="newWindowBtn === true">
+    <icon file="icon-launch.svg" aria-hidden="true"></icon>Open in new window
+  </button>
 </div>
diff --git a/app/server-control/directives/kvm-console.js b/app/server-control/directives/kvm-console.js
index 224e5d2..913990d 100644
--- a/app/server-control/directives/kvm-console.js
+++ b/app/server-control/directives/kvm-console.js
@@ -16,7 +16,7 @@
     function($log, $location) {
       return {
         restrict: 'E', template: require('./kvm-console.html'),
-            link: function(scope, element) {
+            scope: {newWindowBtn: '=?'}, link: function(scope, element) {
               var rfb;
 
               element.on('$destroy', function() {
@@ -33,6 +33,7 @@
               function connected(e) {
                 $log.debug('RFB Connected');
               }
+
               function disconnected(e) {
                 $log.debug('RFB disconnected');
               }
@@ -53,6 +54,12 @@
                     'Unable to create RFB client -- ' + exc);
                 return;  // don't continue trying to connect
               };
+
+              scope.openWindow = function() {
+                window.open(
+                    '#/server-control/kvm-window', 'Kvm Window',
+                    'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=1125,height=900');
+              };
             }
       }
     }
diff --git a/app/server-control/index.js b/app/server-control/index.js
index 8b8b215..98f9c48 100644
--- a/app/server-control/index.js
+++ b/app/server-control/index.js
@@ -52,6 +52,11 @@
                 'template': require('./controllers/kvm-controller.html'),
                 authenticated: true
               })
+              .when('/server-control/kvm-window', {
+                'template': require('./controllers/kvm-window-controller.html'),
+                'controller': 'kvmWindowController',
+                authenticated: true
+              })
               .when('/server-control/virtual-media', {
                 'template':
                     require('./controllers/virtual-media-controller.html'),
diff --git a/app/server-control/styles/kvm.scss b/app/server-control/styles/kvm.scss
index 2f9e2c0..69fa62c 100644
--- a/app/server-control/styles/kvm.scss
+++ b/app/server-control/styles/kvm.scss
@@ -1,4 +1,3 @@
-
 .noNVC_shown {
   display: inline;
 }
@@ -9,3 +8,10 @@
 #noVNC_left_dummy_elem {
   flex: 1;
 }
+
+.kvm-window {
+  padding: 0 2rem;
+  .kvm__actions {
+    padding-bottom: 1.2rem;
+  }
+}
