     func webViewDidInvalidatePage(webView: TLWebView) {
         if let visitable = currentVisitable {
             visitable.updateScreenshot()
-            currentVisit?.cancel()
+            topmostVisit?.cancel()
 
             visitable.showScreenshot()
             visitable.showActivityIndicator()

    }
    
    public func visitableViewDidAppear(visitable: TLVisitable) {
        activateVisitable(visitable)

        if let currentVisit = self.currentVisit where currentVisit.visitable === visitable {
            if currentVisit.state == .Completed {
                visitable.hideActivityIndicator()
                visitable.hideScreenshot()
            } else {
                currentVisit.completeNavigation()
            }
        }
    }

    // MARK: Visiting

    public var currentVisitable: TLVisitable?
    private var lastIssuedVisit: TLVisit?
    private var topmostVisit: TLVisit?

    public func visit(visitable: TLVisitable) {
        visitVisitable(visitable, action: .Advance)
