diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
index a699742..0b6fc96 100644
--- a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
+++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
@@ -539,7 +539,7 @@
 
     returnButton: function(inSender, inEvent) {
       let me = this,
-        receipt = this.args.receipt,
+        receipt = OB.MobileApp.model.receipt,
         giftcard = this.args.giftcard;
       if (!this.validateGiftcard(giftcard)) {
         return false;
@@ -603,7 +603,7 @@
       } else {
         OB.UI.GiftCardUtils.cancelGiftCard(
           this.args.view,
-          this.args.receipt,
+          receipt,
           giftcard.searchKey,
           consumeOK,
           consumeFail
diff --git a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
index 2bc85e2..cedbc45 100644
--- a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
+++ b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
@@ -137,18 +137,25 @@
         OB.UI.GiftCardUtils.findProductModel(result.product.id, function(
           transactionproduct
         ) {
-          // Add properties to product.
-          transactionproduct.set('giftCardTransaction', result.transaction.id);
-          transactionproduct.set('isEditablePrice', false);
-          transactionproduct.set('isEditableQty', false);
-          transactionproduct.set('standardPrice', result.transaction.amount);
-          transactionproduct.set('ignorePromotions', true);
-
-          keyboard.doAddProduct({
-            product: transactionproduct,
-            qty: -1,
-            ignoreStockTab: true,
-            callback: function(r) {
+          if (!OB.UTIL.isNullOrUndefined(transactionproduct)) {
+            // Add properties to product.
+            transactionproduct.set(
+              'giftCardTransaction',
+              result.transaction.id
+            );
+            transactionproduct.set('isEditablePrice', false);
+            transactionproduct.set('isEditableQty', false);
+            transactionproduct.set('standardPrice', result.transaction.amount);
+            transactionproduct.set('ignorePromotions', true);
+          }
+          OB.MobileApp.model.receipt.addProductToOrder(
+            transactionproduct,
+            -1,
+            {
+              blockAddProduct: true
+            },
+            null,
+            function(r) {
               if (r) {
                 if (success) {
                   success();
@@ -165,7 +172,7 @@
                 );
               }
             }
-          });
+          );
         });
       },
       function(error) {
