         self.load(loader) { [weak self] vcResult in
             switch vcResult {
             case let .success(viewController):
-                let firstSuccessfulReload = (loadedIncitoId != id)
+                let firstSuccessfulReload = (loadedIncitoId != graphId)
                 if firstSuccessfulReload {
-                    loadedIncitoId = id
-                    self?.firstSuccessfulReload(incitoId: id, relatedPublicationId: relatedPublicationId)
+                    loadedIncitoId = graphId
+                    self?.firstSuccessfulReload(incitoId: graphId, relatedPublicationId: relatedPublicationId)
                 }
                 completion?(.success((viewController, firstSuccessfulReload)))
             case let .error(error):

     If you specify a `lastReadPosition` it will scroll to this location once loading finishes. This is a 0-1 %, accessible via the `scrollProgress` property of the IncitoViewController.
     */
    public func load(
        id: IncitoGraphIdentifier,
        graphClient: GraphClient = GraphAPI.shared.client,
        relatedPublicationId: PagedPublicationCoreAPIIdentifier?,
        businessLoaded: ((Result<GraphBusiness>) -> Void)? = nil,

            .asyncOnMain()
            .flatMap({ width in
                IncitoGraphLoader(
                    id: graphId,
                    graphClient: graphClient,
                    width: width,
                    businessLoadedCallback: { businessLoaded?($0.shopGunSDKResult) }
