diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 832b0b3..2a23bb1 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -66,6 +66,7 @@
     Activity mActivity;
     UiController mUiController;
     TabControl mTabControl;
+    private Tab mActiveTab;
 
     private Drawable mSecLockIcon;
     private Drawable mMixLockIcon;
@@ -295,14 +296,20 @@
 
     @Override
     public void setActiveTab(Tab tab) {
-        Tab current = mTabControl.getCurrentTab();
-        if ((tab != current) && (current != null)) {
-            removeTabFromContentView(current);
+        if ((tab != mActiveTab) && (mActiveTab != null)) {
+            removeTabFromContentView(mActiveTab);
         }
+        mActiveTab = tab;
         attachTabToContentView(tab);
         setShouldShowErrorConsole(tab, mUiController.shouldShowErrorConsole());
 
         WebView view = tab.getWebView();
+        // TabControl.setCurrentTab has been called before this,
+        // so the tab is guaranteed to have a webview
+        if (view == null) {
+            Log.e(LOGTAG, "active tab with no webview detected");
+            return;
+        }
         view.setEmbeddedTitleBar(mTitleBar);
         if (tab.isInVoiceSearchMode()) {
             showVoiceTitleBar(tab.getVoiceDisplayTitle());
@@ -328,8 +335,9 @@
 
     @Override
     public void removeTab(Tab tab) {
-        if (mTabControl.getCurrentTab() == tab) {
+        if (mActiveTab == tab) {
             removeTabFromContentView(tab);
+            mActiveTab = null;
         }
         if (mXLargeScreenSize) {
             mTabBar.onRemoveTab(tab);
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 79fff3d..aabdb26 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1903,10 +1903,9 @@
     }
 
     protected void setActiveTab(Tab tab) {
-        // Update the UI before setting the current tab in TabControl
-        // so the UI can access the old tab to switch over from
-        mUi.setActiveTab(tab);
         mTabControl.setCurrentTab(tab);
+        // the tab is guaranteed to have a webview after setCurrentTab
+        mUi.setActiveTab(tab);
     }
 
     protected void closeEmptyChildTab() {
