diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 386c483..7192f3f 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2674,32 +2674,23 @@
     }
 
     public boolean dispatchKeyEvent(KeyEvent event) {
-        return mBlockEvents || hasNoActiveTab();
+        return mBlockEvents;
     }
 
     public boolean dispatchKeyShortcutEvent(KeyEvent event) {
-        return mBlockEvents || hasNoActiveTab();
+        return mBlockEvents;
     }
 
     public boolean dispatchTouchEvent(MotionEvent ev) {
-        return mBlockEvents || hasNoActiveTab();
+        return mBlockEvents;
     }
 
     public boolean dispatchTrackballEvent(MotionEvent ev) {
-        return mBlockEvents || hasNoActiveTab();
+        return mBlockEvents;
     }
 
     public boolean dispatchGenericMotionEvent(MotionEvent ev) {
-        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;
+        return mBlockEvents;
     }
 
 }
