diff --git a/www/js/controllers/app-controllers.js b/www/js/controllers/app-controllers.js
index bcdf9e90ab93abca54f78b97ae21233a5bb37db8..55326b08044a044592e08d32bd6c42f8725a9630 100644
--- a/www/js/controllers/app-controllers.js
+++ b/www/js/controllers/app-controllers.js
@@ -33,6 +33,17 @@ angular.module('cesium.app.controllers', ['cesium.services'])
           }
         }
       })
+
+      .state('app.lock', {
+        cache: false,
+        url: "/lock",
+        views: {
+          'menuContent': {
+            templateUrl: "templates/common/view_passcode.html",
+            controller: 'PassCodeCtrl'
+          }
+        }
+      })
     ;
 
     // if none of the above states are matched, use this as the fallback
@@ -48,6 +59,8 @@ angular.module('cesium.app.controllers', ['cesium.services'])
 
   .controller('AboutCtrl', AboutController)
 
+  .controller('PassCodeCtrl', PassCodeController)
+
 ;
 
 
@@ -286,10 +299,10 @@ function AppController($scope, $rootScope, $state, $ionicSideMenuDelegate, $q, $
     .then(function() {
       $ionicSideMenuDelegate.toggleLeft();
       $ionicHistory.clearHistory();
+
       return $ionicHistory.clearCache()
       .then(function() {
-        UIUtils.loading.hide();
-        $state.go('app.home');
+        $scope.showHome();
       });
     })
     .catch(UIUtils.onError());
@@ -391,3 +404,9 @@ function AboutController($scope, csConfig) {
   'ngInject';
   $scope.config = csConfig;
 }
+
+function PassCodeController($scope) {
+  'ngInject';
+
+
+}
diff --git a/www/templates/common/view_passcode.html b/www/templates/common/view_passcode.html
new file mode 100644
index 0000000000000000000000000000000000000000..fa113df2f6daf1e3d5c6c4fcab865e6e22ae73e6
--- /dev/null
+++ b/www/templates/common/view_passcode.html
@@ -0,0 +1,9 @@
+<ion-view left-buttons="leftButtons">
+  <ion-nav-title>
+    <span class="visible-xs visible-sm" translate>COMMON.PASSCODE.TITLE</span>
+  </ion-nav-title>
+
+  <ion-content scroll="false">
+
+  </ion-content>
+</ion-view>