diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -869,7 +869,7 @@
             line = options.line;
           } else {
             line = this.get('lines').find(function (l) {
-              if (l.get('product').id === p.id && l.get('qty') > 0) {
+              if (l.get('product').id === p.id && ((l.get('qty') > 0 && qty > 0) || (l.get('qty') < 0 && qty < 0))) {
                 affectedByPack = l.isAffectedByPack();
                 if (!affectedByPack) {
                   return true;
