             reload()
         }
     }
+
+    private func completeNavigationForCurrentVisit() {
+        if let visit = currentVisit {
+            topmostVisit = visit
+            visit.completeNavigation()
+        }
+    }
 }

            } else if visitable === currentVisit.visitable && currentVisit.state == .Started {
                // Navigating forward - complete navigation early
                NSLog("%@ Navigating forward", self)
                self.topmostVisit = currentVisit
                currentVisit.completeNavigation()
            } else if visitable !== topmostVisit.visitable {
                // Navigating backward
                NSLog("%@ Navigating backward", self)


        if visitable === currentVisit?.visitable {
            // Appearing after successful navigation
            completeNavigationForCurrentVisit()
        } else if visitable === topmostVisit?.visitable && topmostVisit?.state == .Completed {
            // Reappearing after canceled navigation
            visitable.hideScreenshot()
