                 .run(callback)
         }
         
-        self.load(loader) { [weak self] vcResult in
+        self.load(loader) { vcResult in
             switch vcResult {
             case let .success(viewController):
-                var firstSuccessfulReload: Bool = false
-                if let incitoId = expectedIncitoId {
-                    firstSuccessfulReload = (firstLoadedIncitoId != incitoId)
-                    
-                    if firstSuccessfulReload {
-                        firstLoadedIncitoId = incitoId
-                        self?.firstSuccessfulReload(incitoPublicationId: incitoPublicationId, isAlsoPagedPublication: isAlsoPagedPublication)
-                    }
-                }
-                completion?(.success((viewController, firstSuccessfulReload)))
+                let firstLoad = !hasLoadedIncito
+                hasLoadedIncito = true
+                completion?(.success((viewController, firstLoad)))
             case let .failure(error):
                 completion?(.failure(error))
             }

        }
        
        self.load(
            incitoPublicationId: publication.id,
            incitoPropertyLoader: .init(value: .success((publication.id, publication.hasPagedPublication))),
            featureLabelWeights: featureLabelWeights,
            apiClient: apiClient,
            completion: completion
        )
    }
    
    private func firstSuccessfulReload(incitoPublicationId: PublicationId, isAlsoPagedPublication: Bool) {
        
        // On first successful load, trigger the incitoOpened event (if the events tracker has been configured)
        if TjekEventsTracker.isInitialized {
            TjekEventsTracker.shared.trackEvent(
                .incitoPublicationOpened(
                    incitoPublicationId,
                    isAlsoPagedPublication: isAlsoPagedPublication
                )
            )
        }
    }
}

        let loader = IncitoLoader { callback in
            incitoPropertyLoader
                .observeResultSuccess({
                    if eventTriggeredForId != $0.publicationId && TjekEventsTracker.isInitialized {
                        eventTriggeredForId = $0.publicationId
                        
                        TjekEventsTracker.shared.trackEvent(
                            .incitoPublicationOpened(
                                $0.publicationId,
                                isAlsoPagedPublication: $0.isAlsoPagedPublication
                            )
                        )
                    }
                })
                .flatMapResult({
                    incitoLoaderBuilder($0.publicationId)
