diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index c4f3bd5..6ae6f1b 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -694,7 +694,7 @@
         if (current == null) {
             return;
         }
-        resetTitleAndIcon(current);
+        resetTitleAndIcon(tab, current);
         int progress = current.getProgress();
         current.getWebChromeClient().onProgressChanged(current, progress);
     }
@@ -703,14 +703,13 @@
     public void resetTitleAndIcon(Tab tab) {
         WebView current = tab.getWebView();
         if (current != null) {
-            resetTitleAndIcon(current);
+            resetTitleAndIcon(tab, current);
         }
     }
 
     // Reset the title and the icon based on the given item.
-    private void resetTitleAndIcon(WebView view) {
+    private void resetTitleAndIcon(Tab tab, WebView view) {
         WebHistoryItem item = view.copyBackForwardList().getCurrentItem();
-        Tab tab = mTabControl.getTabFromView(view);
         if (item != null) {
             setUrlTitle(tab, item.getUrl(), item.getTitle());
             setFavicon(tab, item.getFavicon());
