diff -r ada27c46c677 -r 1f2ec0947662 web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js	Fri Feb 01 09:59:02 2013 +0100
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js	Mon Feb 04 12:44:32 2013 +0100
@@ -112,7 +112,24 @@
 
   // Sales.OrderLineCol Model.
   var OrderLineList = Backbone.Collection.extend({
-    model: OrderLine
+    model: OrderLine,
+    isProductPresent: function(product){
+      var result = null;
+      if (this.length > 0){
+        result = _.find(this.models, function(line){
+          if (line.get('product').get('id') === product.get('id')){
+            return true;
+          }
+        }, this);
+        if (_.isUndefined(result) || _.isNull(result)){
+          return false;
+        } else {
+          return true;
+        }
+      } else {
+        return false;
+      }
+    }
   });
 
   // Sales.Payment Model
diff -r ada27c46c677 -r 1f2ec0947662 web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js	Fri Feb 01 09:59:02 2013 +0100
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js	Mon Feb 04 12:44:32 2013 +0100
@@ -233,10 +233,11 @@
       });
       return true;
     }
+
     if (inEvent.ignoreStockTab) {
       this.showOrder(inSender, inEvent);
     } else {
-      if (inEvent.product.get('showstock') && !inEvent.product.get('ispack') && OB.POS.modelterminal.get('connectedToERP')) {
+      if (!this.model.get('order').get('lines').isProductPresent(inEvent.product) && inEvent.product.get('showstock') && !inEvent.product.get('ispack') && OB.POS.modelterminal.get('connectedToERP')) {
         inEvent.leftSubWindow = OB.OBPOSPointOfSale.UICustomization.stockLeftSubWindow;
         this.showLeftSubWindow(inSender, inEvent);
         return true;
