diff --git a/addons/web/static/src/js/framework/barcode_events.js b/addons/web/static/src/js/framework/barcode_events.js
index 2cbbb89d8b1a4ea009c648b506eeee437def6d1f..42b20deedd0dab7903e6287d8462dad1b2b46086 100644
--- a/addons/web/static/src/js/framework/barcode_events.js
+++ b/addons/web/static/src/js/framework/barcode_events.js
@@ -13,6 +13,7 @@ odoo.define('web.BarcodeEvents', function(require) {
 
         init: function(parent) {
             mixins.PropertiesMixin.init.call(this);
+            this.setParent(parent);
         },
 
         handle_buffered_keys: function() {
diff --git a/addons/web/static/src/js/web_client.js b/addons/web/static/src/js/web_client.js
index dbd1e5628101e91ce4497aab68fffaed9a2ca06e..f1939406c9e1ee0447aadf1e9df02ffc30dadbdf 100644
--- a/addons/web/static/src/js/web_client.js
+++ b/addons/web/static/src/js/web_client.js
@@ -37,7 +37,7 @@ var WebClient = Widget.extend({
         this.menu_dm = new utils.DropMisordered();
         this.action_mutex = new utils.Mutex();
         this.set('title_part', {"zopenerp": "Odoo"});
-        this.barcode_events = new BarcodeEvents();
+        this.barcode_events = new BarcodeEvents(this);
     },
     start: function() {
         var self = this;