             }
         }
         return false
+    }
+
+    private func updateNavigationToolbarStates(tab: Browser, webView: WKWebView) {
+        urlBar.currentURL = tab.displayURL
+        navigationToolbar.updateBackStatus(webView.canGoBack)
+        navigationToolbar.updateForwardStatus(webView.canGoForward)
+
+        if let url = tab.displayURL?.absoluteString {
+            profile.bookmarks.isBookmarked(url, success: { bookmarked in
+                self.navigationToolbar.updateBookmarkStatus(bookmarked)
+            }, failure: { err in
+                log.error("Error getting bookmark status: \(err).")
+            })
+        }
     }
 }
 

    func webView(webView: WKWebView, didCommitNavigation navigation: WKNavigation!) {
        if let tab = tabManager.selectedTab {
            if tab.webView == webView {
                urlBar.currentURL = tab.displayURL
                navigationToolbar.updateBackStatus(webView.canGoBack)
                navigationToolbar.updateForwardStatus(webView.canGoForward)

                let isPage = (tab.displayURL != nil) ? isWebPage(tab.displayURL!) : false
                navigationToolbar.updatePageStatus(isWebPage: isPage)

                showToolbars(animated: false)

                if let url = tab.displayURL?.absoluteString {
                    profile.bookmarks.isBookmarked(url, success: { bookmarked in
                        self.navigationToolbar.updateBookmarkStatus(bookmarked)
                    }, failure: { err in
                        log.error("Error getting bookmark status: \(err).")
                    })
                }

                if let url = tab.url {
                    if ReaderModeUtils.isReaderModeURL(url) {

        if let tab = tabManager.selectedTab,
           let webView = tab.webView
        {
            updateNavigationToolbarStates(tab, webView: webView)
        }
    }
}
