diff --git a/core/server/services/offers/service.js b/core/server/services/offers/service.js index 5ad4e242ca..cbcc59cd0b 100644 --- a/core/server/services/offers/service.js +++ b/core/server/services/offers/service.js @@ -25,15 +25,22 @@ module.exports = { this.api = offersModule.api; this.repository = offersModule.repository; + let initCalled = false; if (labs.isSet('offers')) { // handles setting up redirects - await offersModule.init(); + const promise = offersModule.init(); + initCalled = true; + await promise; } // TODO: Delete after GA let offersEnabled = labs.isSet('offers'); events.on('settings.labs.edited', async () => { - if (labs.isSet('offers') !== offersEnabled) { + if (labs.isSet('offers') && !initCalled) { + const promise = offersModule.init(); + initCalled = true; + await promise; + } else if (labs.isSet('offers') !== offersEnabled) { offersEnabled = labs.isSet('offers'); if (offersEnabled) {