diff --git a/web/org.openbravo.retail.stockcriteria/js/hookPostFailureRemoteProductSearch.js b/web/org.openbravo.retail.stockcriteria/js/hookPostFailureRemoteProductSearch.js
--- a/web/org.openbravo.retail.stockcriteria/js/hookPostFailureRemoteProductSearch.js
+++ b/web/org.openbravo.retail.stockcriteria/js/hookPostFailureRemoteProductSearch.js
@@ -9,10 +9,10 @@
 
 (function () {
   OB.UTIL.HookManager.registerHook('OBPOS_PostFailureRemoteProductSearch', function (args, callbacks) {
-    if (args.doLocal) {
-      OB.UTIL.showError(OB.I18N.getLabel('OBRPSC_RemoteConnectionFail'));
-    } else {
-      OB.UTIL.showError(OB.I18N.getLabel('OBRPSC_OnlineRequiredForStock'));
+    if (!args.message && !args.doLocalIfRemoteFails) {
+      args.message = 'OBRPSC_OnlineRequiredForStock';
+    } else if (!args.message && !OB.MobileApp.model.hasPermission('OBPOS_remote.product', true) && !args.error) {
+      args.message = 'OBRPSC_RemoteConnectionFail';
     }
     OB.UTIL.HookManager.callbackExecutor(args, callbacks);
   });
