diff --git a/www/js/controllers/login-controllers.js b/www/js/controllers/login-controllers.js
index 8889928e8819af1ec85ab702c6d010ff0b656fbb..6ec4cabbe7d8c960d6c81183c908211bd85ad0e9 100644
--- a/www/js/controllers/login-controllers.js
+++ b/www/js/controllers/login-controllers.js
@@ -50,8 +50,9 @@ function LoginModalController($scope, $timeout, $q, $ionicPopover, CryptoUtils,
     // Init method
     var method = parameters.method || csSettings.data.login && csSettings.data.login.method || 'SCRYPT_DEFAULT';
     var params = csSettings.data.login && csSettings.data.login.params;
-    if (($scope.isAuth && method === 'PUBKEY') || ( method === 'default')) {
-      method = 'SCRYPT_DEFAULT'; // PUBKEY not enable if auth need, or if ask for 'default'
+    // used default method, when PUBKEY + auth, or SCAN, or if ask for 'default'
+    if (($scope.isAuth && method === 'PUBKEY') || (method === 'SCAN') || (method === 'default')) {
+      method = 'SCRYPT_DEFAULT';
     }
     $scope.changeMethod(method, params);
   };
@@ -350,6 +351,10 @@ function LoginModalController($scope, $timeout, $q, $ionicPopover, CryptoUtils,
       delete $scope.form.$submitted;
     }
 
+    if (method == 'SCAN') {
+      return $scope.doLogin();
+    }
+
     // Scrypt (advanced or not)
     if (method == 'SCRYPT_DEFAULT' || method == 'SCRYPT_ADVANCED') {
       // Search scrypt object