diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
index a3ec7ff4c..6a06bacb6 100644
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
@@ -937,19 +937,27 @@ enyo.kind({
   deleteCurrentOrder: function(inSender, inEvent) {
     var me = this,
       receipt = this.model.get('order'),
-      execution = OB.UTIL.ProcessController.start('deleteCurrentOrder');
-
+      execution;
+    if (receipt.get('productToBeAdded')) {
+      return true;
+    }
+    execution = OB.UTIL.ProcessController.start('deleteCurrentOrder');
+    receipt.set('toBeDeleted', true);
     inEvent.status = true;
     this.leftToolbarDisabled(inSender, inEvent);
     receipt.deleteOrder(this, function() {
       inEvent.status = false;
       me.leftToolbarDisabled(inSender, inEvent);
+      receipt.unset('toBeDeleted');
       OB.UTIL.ProcessController.finish('deleteCurrentOrder', execution);
     });
   },
   addProductToOrder: function(inSender, inEvent) {
     var targetOrder, attrs, finalCallback, negativeLines;
     finalCallback = function(success, orderline) {
+      if (targetOrder) {
+        targetOrder.unset('productToBeAdded');
+      }
       if (inEvent.callback) {
         inEvent.callback.call(inEvent.context, success || false, orderline);
       }
@@ -972,6 +980,10 @@ enyo.kind({
       });
       return false;
     }
+    if (targetOrder.get('toBeDeleted')) {
+      finalCallback(false);
+      return false;
+    }
     negativeLines = _.filter(targetOrder.get('lines').models, function(line) {
       return line.get('qty') < 0;
     }).length;
@@ -1121,6 +1133,7 @@ enyo.kind({
 
     attrs = inEvent.attrs || {};
     attrs.kindOriginator = inEvent.originator && inEvent.originator.kind;
+    targetOrder.set('productToBeAdded', true);
     OB.UTIL.HookManager.executeHooks(
       'OBPOS_PreAddProductToOrder',
       {
