diff --git a/web/org.openbravo.mobile.core/source/component/ob-login.js b/web/org.openbravo.mobile.core/source/component/ob-login.js
--- a/web/org.openbravo.mobile.core/source/component/ob-login.js
+++ b/web/org.openbravo.mobile.core/source/component/ob-login.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012-2017 Openbravo S.L.U.
+ * Copyright (C) 2012-2018 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -51,6 +51,9 @@
   name: 'OB.OBPOSLogin.UI.LoginButton',
   kind: 'OB.UI.ModalDialogButton',
   style: 'min-width: 115px;',
+  events: {
+    onLoginButtonClick: ''
+  },
   handlers: {
     synchronizing: 'disableButton',
     synchronized: 'enableButton'
@@ -61,6 +64,11 @@
   enableButton: function () {
     this.setDisabled(false);
   },
+
+  tap: function () {
+    this.doLoginButtonClick();
+  },
+
   initComponents: function () {
     this.inherited(arguments);
     this.content = OB.I18N.getLabel('OBMOBC_LoginButton');
@@ -83,6 +91,9 @@
   events: {
     onShowPopup: ''
   },
+  buttons: [{
+    kind: 'OB.OBPOSLogin.UI.LoginButton'
+  }],
   components: [{
     kind: 'OB.UI.ModalInfo',
     name: 'DatabaseDialog',
@@ -153,11 +164,8 @@
             name: 'loginWarning',
             classes: 'login-warning'
           }, {
-            classes: 'login-inputs-loginbutton',
-            components: [{
-              kind: 'OB.OBPOSLogin.UI.LoginButton',
-              onclick: 'loginButtonAction'
-            }]
+            name: 'loginButtonContainer',
+            classes: 'login-inputs-loginbutton'
           }]
         }, {
           name: 'loginBrowserNotSupported',
@@ -185,7 +193,14 @@
       }]
     }]
   }],
-
+  addLoginButtons: function () {
+    var i = 0;
+    for (i = 0; i < this.buttons.length; i++) {
+      this.$.loginButtonContainer.createComponent({
+        kind: this.buttons[i].kind
+      });
+    }
+  },
   setConnectedStatus: function () {
     var me = this;
     if (!this.$.connectStatus) {
@@ -232,6 +247,7 @@
 
     this.setConnectedStatus();
     this.hasTerminalChanged();
+    this.addLoginButtons();
 
     OB.MobileApp.model.on('change:connectedToERP', function () {
       if (OB.MobileApp.model.get('supportsOffline')) {
@@ -262,7 +278,12 @@
   },
 
   handlers: {
-    onUserImgClick: 'handleUserImgClick'
+    onUserImgClick: 'handleUserImgClick',
+    onLoginButtonClick: 'loginButtonClick'
+  },
+
+  loginButtonClick: function (inSender, inEvent) {
+    this.loginButtonAction();
   },
 
   handleUserImgClick: function (inSender, inEvent) {
