diff --git a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
index f71d6fb73c1a293860ba83df1a4bf0ce07ee6fcf..6a4c1f3bc9919ab0fd032cbbcdea339455ad9b43 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
@@ -149,7 +149,7 @@ odoo.define('pos_restaurant.TicketScreen', function (require) {
                 return result;
             }
             async _onDoRefund() {
-                if(this.env.pos.config.iface_floorplan) {
+                if(this.env.pos.config.iface_floorplan && !this.env.pos.table) {
                     this.env.pos.setTable(this.getSelectedSyncedOrder().table ? this.getSelectedSyncedOrder().table : Object.values(this.env.pos.tables_by_id)[0]);
                 }
                 super._onDoRefund();
diff --git a/addons/pos_restaurant/static/tests/tours/refund.tour.js b/addons/pos_restaurant/static/tests/tours/refund.tour.js
new file mode 100644
index 0000000000000000000000000000000000000000..bf7a80f2ec69327ef68a3fd234dc9648db31c637
--- /dev/null
+++ b/addons/pos_restaurant/static/tests/tours/refund.tour.js
@@ -0,0 +1,45 @@
+odoo.define('pos_restaurant.tour.Refund', function (require) {
+    'use strict';
+
+    const { PaymentScreen } = require('point_of_sale.tour.PaymentScreenTourMethods');
+    const { FloorScreen } = require('pos_restaurant.tour.FloorScreenTourMethods');
+    const { ProductScreen } = require('pos_restaurant.tour.ProductScreenTourMethods');
+    const { TicketScreen } = require('point_of_sale.tour.TicketScreenTourMethods');
+    const { ReceiptScreen } = require('point_of_sale.tour.ReceiptScreenTourMethods');
+    const { getSteps, startSteps } = require('point_of_sale.tour.utils');
+    var Tour = require('web_tour.tour');
+
+    // signal to start generating steps
+    // when finished, steps can be taken from getSteps
+    startSteps();
+
+    // Create first order and pay it
+    FloorScreen.do.clickTable("T2");
+    ProductScreen.do.confirmOpeningPopup();
+    ProductScreen.do.clickDisplayedProduct("Coca-Cola");
+    ProductScreen.check.selectedOrderlineHas("Coca-Cola");
+    ProductScreen.do.clickDisplayedProduct("Coca-Cola");
+    ProductScreen.check.selectedOrderlineHas("Coca-Cola");
+    ProductScreen.do.clickDisplayedProduct("Water");
+    ProductScreen.check.selectedOrderlineHas("Water");
+    ProductScreen.check.totalAmountIs("6.60");
+    ProductScreen.do.clickPayButton();
+    PaymentScreen.do.clickPaymentMethod("Cash");
+    PaymentScreen.do.clickValidate();
+    ReceiptScreen.do.clickNextOrder();
+
+    // Go to another table and refund one of the product
+    FloorScreen.do.clickTable("T4");
+    ProductScreen.check.orderIsEmpty();
+    ProductScreen.do.clickRefund();
+    TicketScreen.do.selectOrder("-0001");
+    TicketScreen.do.clickOrderline("Coca-Cola");
+    TicketScreen.do.pressNumpad("2");
+    TicketScreen.check.toRefundTextContains("To Refund: 2.00");
+    TicketScreen.do.confirmRefund();
+    ProductScreen.check.isShown();
+    ProductScreen.check.selectedOrderlineHas("Coca-Cola");
+    ProductScreen.check.totalAmountIs("-4.40");
+
+    Tour.register('RefundStayCurrentTableTour', { test: true, url: '/pos/ui' }, getSteps());
+});
diff --git a/addons/pos_restaurant/tests/test_frontend.py b/addons/pos_restaurant/tests/test_frontend.py
index 1eafca88f04f06881fd68cad892b87268fb645b7..a1f95cda64920c0105c7787460da1e65834f906f 100644
--- a/addons/pos_restaurant/tests/test_frontend.py
+++ b/addons/pos_restaurant/tests/test_frontend.py
@@ -208,3 +208,7 @@ class TestFrontend(odoo.tests.HttpCase):
     def test_06_split_bill_screen(self):
         self.pos_config.with_user(self.env.ref('base.user_admin')).open_ui()
         self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'SplitBillScreenTour2', login="admin")
+
+    def test_07_refund_stay_current_table(self):
+        self.pos_config.with_user(self.env.ref('base.user_admin')).open_ui()
+        self.start_tour("/pos/ui?config_id=%d" % self.pos_config.id, 'RefundStayCurrentTableTour', login="admin")