diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0f11f8c..26ea91e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -162,6 +162,10 @@
         </activity>
 
         <activity android:name="BrowserPreferencesPage" android:label="@string/menu_preferences">
+            <intent-filter>
+               <action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
+               <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
         </activity>
 
         <activity android:name="BookmarkSearch"
diff --git a/res/drawable-mdpi/geolocation_permissions_prompt_background.9.png b/res/drawable-mdpi/geolocation_permissions_prompt_background.9.png
new file mode 100644
index 0000000..44a2e2f
--- /dev/null
+++ b/res/drawable-mdpi/geolocation_permissions_prompt_background.9.png
Binary files differ
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 0777efd..8e24353 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -838,7 +838,8 @@
             break;
         case MotionEvent.ACTION_MOVE:
             WebView web = (WebView) v;
-            if (!isTitleBarShowing()
+            if (event.getPointerCount() == 1
+                    && !isTitleBarShowing()
                     && web.getVisibleTitleHeight() == 0
                     && event.getY() > (mInitialY + mTitlebarScrollTriggerSlop)) {
                 mHandler.removeMessages(MSG_HIDE_TITLEBAR);
diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/browser/BrowserPreferencesPage.java
index 8302011..930e1db 100644
--- a/src/com/android/browser/BrowserPreferencesPage.java
+++ b/src/com/android/browser/BrowserPreferencesPage.java
@@ -16,18 +16,21 @@
 
 package com.android.browser;
 
-import com.android.browser.preferences.DebugPreferencesFragment;
-
 import android.app.ActionBar;
+import android.content.Intent;
 import android.os.Bundle;
 import android.preference.PreferenceActivity;
 import android.view.MenuItem;
 
+import com.android.browser.preferences.BandwidthPreferencesFragment;
+import com.android.browser.preferences.DebugPreferencesFragment;
+
 import java.util.List;
 
 public class BrowserPreferencesPage extends PreferenceActivity {
 
     public static final String CURRENT_PAGE = "currentPage";
+    private List<Header> mHeaders;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -53,6 +56,21 @@
             debug.fragment = DebugPreferencesFragment.class.getName();
             target.add(debug);
         }
+        mHeaders = target;
+    }
+
+    @Override
+    public Header onGetInitialHeader() {
+        String action = getIntent().getAction();
+        if (Intent.ACTION_MANAGE_NETWORK_USAGE.equals(action)) {
+            String fragName = BandwidthPreferencesFragment.class.getName();
+            for (Header h : mHeaders) {
+                if (fragName.equals(h.fragment)) {
+                    return h;
+                }
+            }
+        }
+        return super.onGetInitialHeader();
     }
 
     @Override
