diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 3f126c0..24072c9 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2684,23 +2684,32 @@
     }
 
     public boolean dispatchKeyEvent(KeyEvent event) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchKeyShortcutEvent(KeyEvent event) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchTouchEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchTrackballEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchGenericMotionEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
+    }
+
+    private boolean hasNoActiveTab() {
+        Tab tab = getCurrentTab();
+        if (tab == null) {
+            Log.w(LOGTAG, "Received event with no active tab. Tab count: "
+                    + mTabControl.getTabCount());
+        }
+        return tab == null;
     }
 
 }
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index d77fcdb..23d7abb 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -329,10 +329,12 @@
         final Tab tab = mNavScreen.getSelectedTab();
         if ((tab != null) && !animate) {
             finishAnimateOut(tab);
+            return;
         }
         NavTabView tabview = (NavTabView) mNavScreen.getSelectedTabView();
         if (tabview == null) {
             finishAnimateOut(tab);
+            return;
         }
         mUiController.setBlockEvents(true);
         mUiController.setActiveTab(tab);
