diff --git a/res/menu-xlarge/browser.xml b/res/menu-xlarge/browser.xml
index 3b93835..7af3e8c 100644
--- a/res/menu-xlarge/browser.xml
+++ b/res/menu-xlarge/browser.xml
@@ -44,9 +44,6 @@
             android:title="@string/menu_preferences"
             android:icon="@drawable/ic_menu_settings_normal"
             android:alphabeticShortcut="p" />
-        <item android:id="@+id/save_webarchive_menu_id"
-            android:icon="@drawable/ic_menu_archive_normal"
-            android:title="@string/menu_save_webarchive" />
         <!-- followings are debug only -->
         <item android:id="@+id/dump_nav_menu_id"
             android:title="@string/dump_nav"
diff --git a/res/menu/browser.xml b/res/menu/browser.xml
index b5d56c8..e00ee26 100644
--- a/res/menu/browser.xml
+++ b/res/menu/browser.xml
@@ -59,9 +59,6 @@
             android:title="@string/menu_preferences"
             android:icon="@drawable/ic_menu_settings"
             android:alphabeticShortcut="p" />
-        <item android:id="@+id/save_webarchive_menu_id"
-            android:title="@string/menu_save_webarchive"
-             />
         <!-- followings are debug only -->
         <item android:id="@+id/dump_nav_menu_id"
             android:title="@string/dump_nav"
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 4115b92..072a0b1 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -1372,39 +1372,6 @@
                 getTopWindow().showFindDialog(null);
                 break;
 
-            case R.id.save_webarchive_menu_id:
-                if (LOGD_ENABLED) {
-                    Log.d(LOGTAG, "Save as Web Archive");
-                }
-                String state = Environment.getExternalStorageState();
-                if (Environment.MEDIA_MOUNTED.equals(state)) {
-                    String directory = Environment.getExternalStoragePublicDirectory(
-                            Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + File.separator;
-                    File dir = new File(directory);
-                    if (!dir.exists() && !dir.mkdirs()) {
-                      Log.e(LOGTAG, "Save as Web Archive: mkdirs for " + directory + " failed!");
-                      Toast.makeText(BrowserActivity.this, R.string.webarchive_failed,
-                          Toast.LENGTH_SHORT).show();
-                      break;
-                    }
-                    getTopWindow().saveWebArchive(directory, true, new ValueCallback<String>() {
-                        @Override
-                        public void onReceiveValue(String value) {
-                            if (value != null) {
-                                Toast.makeText(BrowserActivity.this, R.string.webarchive_saved,
-                                        Toast.LENGTH_SHORT).show();
-                            } else {
-                                Toast.makeText(BrowserActivity.this, R.string.webarchive_failed,
-                                        Toast.LENGTH_SHORT).show();
-                            }
-                        }
-                    });
-                } else {
-                    Toast.makeText(BrowserActivity.this, R.string.webarchive_failed,
-                            Toast.LENGTH_SHORT).show();
-                }
-                break;
-
             case R.id.page_info_menu_id:
                 showPageInfo(mTabControl.getCurrentTab(), false);
                 break;
