diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 06e0710..9f1f3ba 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -228,6 +228,8 @@
             ActionBar actionBar = getActionBar();
             mTabBar = new TabBar(this, mTabControl, (TitleBarXLarge) mFakeTitleBar);
             actionBar.setCustomNavigationMode(mTabBar);
+            // disable built in zoom controls
+            mTabControl.setDisplayZoomControls(false);
         } else {
             mTitleBar = new TitleBar(this);
             // mTitleBar will be always be shown in the fully loaded mode on
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 7377a1e..d7435d7 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -48,6 +48,8 @@
     private final BrowserActivity mActivity;
     // Directory to store thumbnails for each WebView.
     private final File mThumbnailDir;
+    // Use on screen zoom buttons
+    private boolean mDisplayZoomControls;
 
     /**
      * Construct a new TabControl object that interfaces with the given
@@ -58,6 +60,7 @@
     TabControl(BrowserActivity activity) {
         mActivity = activity;
         mThumbnailDir = activity.getDir("thumbnails", 0);
+        mDisplayZoomControls = true;
     }
 
     File getThumbnailDir() {
@@ -69,6 +72,14 @@
     }
 
     /**
+     * Set if the webview should use the on screen zoom controls
+     * @param enabled
+     */
+    void setDisplayZoomControls(boolean enabled) {
+        mDisplayZoomControls = enabled;
+    }
+
+    /**
      * Return the current tab's main WebView. This will always return the main
      * WebView for a given tab and not a subwindow.
      * @return The current tab's WebView.
@@ -597,6 +608,7 @@
         w.setMapTrackballToArrowKeys(false); // use trackball directly
         // Enable the built-in zoom
         w.getSettings().setBuiltInZoomControls(true);
+        w.getSettings().setDisplayZoomControls(mDisplayZoomControls);
         // Add this WebView to the settings observer list and update the
         // settings
         final BrowserSettings s = BrowserSettings.getInstance();
