diff --git a/addons/web_tour/static/src/js/tour_manager.js b/addons/web_tour/static/src/js/tour_manager.js
index 6e3ebff46e7fe5a0d9be59e6961815d999c71494..969f2dd66a08446309e1c7d1c2ef0cb1cfe16543 100644
--- a/addons/web_tour/static/src/js/tour_manager.js
+++ b/addons/web_tour/static/src/js/tour_manager.js
@@ -105,7 +105,7 @@ return core.Class.extend(mixins.EventDispatcherMixin, ServicesMixin, {
         return self._waitBeforeTourStart().then(function () {
             return Promise.all(_.map(self.tours, function (tour, name) {
                 return self._register(do_update, tour, name);
-            }));
+            })).then(() => self.update());
         });
     },
     _register: function (do_update, tour, name) {
@@ -128,7 +128,6 @@ return core.Class.extend(mixins.EventDispatcherMixin, ServicesMixin, {
 
             if (do_update && (this.running_tour === name || (!this.running_tour && !tour.test && !tour_is_consumed))) {
                 this._to_next_step(name, 0);
-                this.update(name);
             }
         }).bind(this));
     },