diff --git a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
index 2c9f9a30..a6b89786 100644
--- a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
+++ b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
@@ -1051,8 +1051,24 @@ enyo.kind({
     this.virtualKeypressHandler(inEvent.action);
   },
 
+  handleKeyPress: function(button) {
+    var me = this;
+
+    if (button.$.button.disabled) {
+      return true;
+    }
+    if (button && button.definition && button.definition.includedInPopUp) {
+      me.virtualKeypressHandler(button.command, {
+        fromPopup: button.definition.includedInPopUp
+      });
+    } else {
+      me.virtualKeypressHandler(button.command);
+    }
+  },
+
   registerButton: function(inSender, inEvent) {
     var me = this,
+      payment,
       button = inEvent.originator;
     if (button.command) {
       if (button.definition) {
@@ -1080,35 +1096,32 @@ enyo.kind({
     }
 
     if (button.command) {
-      button.$.button.tap = function() {
-        OB.UTIL.HookManager.executeHooks(
-          'OBMOBC_PrePaymentSelected',
-          {
-            paymentSelected: button,
-            model: me.model,
-            receipt: me.receipt
-          },
-          function(args) {
-            if (args && args.cancellation && args.cancellation === true) {
-              return;
-            }
-            if (button.$.button.disabled) {
-              return true;
-            }
-            if (
-              button &&
-              button.definition &&
-              button.definition.includedInPopUp
-            ) {
-              me.virtualKeypressHandler(button.command, {
-                fromPopup: button.definition.includedInPopUp
-              });
-            } else {
-              me.virtualKeypressHandler(button.command);
+      payment = OB.MobileApp.model.paymentnames[button.command];
+
+      if (payment) {
+        button.$.button.tap = function() {
+          OB.UTIL.HookManager.executeHooks(
+            'OBMOBC_PrePaymentSelected',
+            {
+              paymentSelected: button,
+              paymentInfo: button.command,
+              model: me.model,
+              receipt: me.receipt
+            },
+            function(args) {
+              if (args && args.cancellation && args.cancellation === true) {
+                return;
+              }
+
+              me.handleKeyPress(button);
             }
-          }
-        );
-      };
+          );
+        };
+      } else {
+        button.$.button.tap = function() {
+          me.handleKeyPress(button);
+        };
+      }
 
       this.addButton(button.command, button.$.button);
       button.$.button.removeClass('btnkeyboard-inactive');
