diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 1083576..5934fe1 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -413,10 +413,7 @@
 
     @Override
     public void removeTab(Tab tab) {
-        if (mActiveTab == tab) {
-            removeTabFromContentView(tab);
-            mActiveTab = null;
-        }
+        removeTabFromContentView(tab);
     }
 
     @Override
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 946e456..e71bc27 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2986,6 +2986,7 @@
         }
 
         if (change_tabs) {
+            setActiveTab(tab);
             synchronized (mThumbnailCbList) {
                 startCaptureTimer();
                 mLatestCreatedTab = tab;
@@ -2994,7 +2995,6 @@
                     public void onReceiveValue(Bitmap bitmap) {
                         synchronized (mThumbnailCbList) {
                             if (mLatestCreatedTab != null) {
-                                setActiveTab(mLatestCreatedTab);
                                 mLatestCreatedTab = null;
                             }
                             stopCaptureTimer();
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 5a39678..690b007 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -350,11 +350,13 @@
     @Override
     public void onClick(View v) {
         Tab currentTab = mUiController.getCurrentTab();
-        WebView wv = currentTab.getWebView();
         String url = null;
-        if (currentTab != null){
+        WebView wv = null;
+        if (currentTab != null) {
+            wv = currentTab.getWebView();
             url = currentTab.getUrl();
         }
+
         if (mMore == v) {
             showMenu(mMore);
         } else if (mFaviconTile == v) {
