diff -r 3289e74e7cf9 web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js	Wed May 17 13:45:42 2017 +0200
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js	Thu May 18 13:11:11 2017 +0200
@@ -454,30 +454,21 @@
       var terminal = OB.MobileApp.model.get('terminal');
 
       this.receipt = receipt;
-      this.line = null;
 
-      this.receipt.get('lines').on('selected', function (line) {
+      this.receipt.get('lines').on('add', function (line) {
         if (this.receipt.get("isPaid") === true) {
           return;
         }
-        if (this.line) {
-          this.line.off('change:gross', this.print);
-        }
-        this.line = line;
-        if (this.line) {
-          this.line.on('change:gross', this.print, this);
-        }
+        line.on('change:gross', this.print, this);
       }, this);
       this.templateline = new OB.DS.HWResource(terminal.printReceiptLineTemplate || OB.OBPOSPointOfSale.Print.ReceiptLineTemplate);
       extendHWResource(this.templateline, 'printReceiptLineTemplate');
       };
 
-  PrintReceiptLine.prototype.print = function () {
-    if (this.line) {
-      OB.POS.hwserver.print(this.templateline, {
-        line: this.line
-      }, null, OB.DS.HWServer.DISPLAY);
-    }
+  PrintReceiptLine.prototype.print = function (line) {
+    OB.POS.hwserver.print(this.templateline, {
+      line: line
+    }, null, OB.DS.HWServer.DISPLAY);
   };
 
   OB.OBPOS = {};
