diff --git a/res/xml/advanced_preferences.xml b/res/xml/advanced_preferences.xml
index 333883a..a941f6d 100644
--- a/res/xml/advanced_preferences.xml
+++ b/res/xml/advanced_preferences.xml
@@ -61,6 +61,7 @@
 
     <PreferenceCategory android:title="@string/pref_content_title">
 
+        <!-- Disable Default Zoom
         <ListPreference
                 android:key="default_zoom"
                 android:title="@string/pref_default_zoom"
@@ -68,6 +69,7 @@
                 android:entries="@array/pref_default_zoom_choices"
                 android:entryValues="@array/pref_default_zoom_values"
                 android:dialogTitle="@string/pref_default_zoom_dialogtitle" />
+        -->
 
         <CheckBoxPreference
                 android:key="load_page"
diff --git a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
index 4abd301..609f84f 100644
--- a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
+++ b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
@@ -55,14 +55,14 @@
         PreferenceScreen websiteSettings = (PreferenceScreen) findPreference(
                 PreferenceKeys.PREF_WEBSITE_SETTINGS);
         websiteSettings.setFragment(WebsiteSettingsFragment.class.getName());
-
-        Preference e = findPreference(PreferenceKeys.PREF_DEFAULT_ZOOM);
+        // SWE: Disable default zoom
+        /*Preference e = findPreference(PreferenceKeys.PREF_DEFAULT_ZOOM);
         e.setOnPreferenceChangeListener(this);
         e.setSummary(getVisualDefaultZoomName(
                 getPreferenceScreen().getSharedPreferences()
-                .getString(PreferenceKeys.PREF_DEFAULT_ZOOM, null)) );
+                .getString(PreferenceKeys.PREF_DEFAULT_ZOOM, null)) );*/
 
-        e = findPreference(PreferenceKeys.PREF_DEFAULT_TEXT_ENCODING);
+        Preference e = findPreference(PreferenceKeys.PREF_DEFAULT_TEXT_ENCODING);
         e.setOnPreferenceChangeListener(this);
 
         e = findPreference(PreferenceKeys.PREF_RESET_DEFAULT_PREFERENCES);
@@ -174,11 +174,12 @@
             Log.w("PageContentPreferencesFragment", "onPreferenceChange called from detached fragment!");
             return false;
         }
-
-        if (pref.getKey().equals(PreferenceKeys.PREF_DEFAULT_ZOOM)) {
+        // SWE disable default Zoom.
+        /*if (pref.getKey().equals(PreferenceKeys.PREF_DEFAULT_ZOOM)) {
             pref.setSummary(getVisualDefaultZoomName((String) objValue));
             return true;
-        } else if (pref.getKey().equals(PreferenceKeys.PREF_DEFAULT_TEXT_ENCODING)) {
+        } else*/
+        if (pref.getKey().equals(PreferenceKeys.PREF_DEFAULT_TEXT_ENCODING)) {
             pref.setSummary((String) objValue);
             return true;
         } else if (pref.getKey().equals(PreferenceKeys.PREF_RESET_DEFAULT_PREFERENCES)) {
