diff --git a/res/xml/privacy_and_security_preferences.xml b/res/xml/privacy_and_security_preferences.xml
index 888634d..ddc8773 100644
--- a/res/xml/privacy_and_security_preferences.xml
+++ b/res/xml/privacy_and_security_preferences.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-    Copyright (c) 2015, The Linux Foundation. All rights reserved.
+    Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are
@@ -48,14 +48,6 @@
             android:summaryOff="@string/pref_security_not_allowed"
             android:title="@string/pref_security_remember_passwords" />
 
-        <SwitchPreference
-            android:layout="@layout/swe_preference"
-            android:defaultValue="true"
-            android:key="save_formdata"
-            android:summaryOn="@string/pref_security_remember"
-            android:summaryOff="@string/pref_security_not_allowed"
-            android:title="@string/pref_security_save_form_data" />
-
         <com.android.browser.mdm.MdmCheckBoxPreference
             android:layout="@layout/swe_preference"
             android:defaultValue="true"
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index bc1b83e..2bdfa0f 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -332,7 +332,6 @@
         settings.setLoadsImagesAutomatically(loadImages());
         settings.setLoadWithOverviewMode(loadPageInOverviewMode());
         settings.setSavePassword(rememberPasswords());
-        settings.setSaveFormData(saveFormdata());
         settings.setUseWideViewPort(isWideViewport());
         settings.setDoNotTrack(doNotTrack());
         settings.setNightModeEnabled(isNightModeEnabled());
@@ -1056,10 +1055,6 @@
                 PermissionsServiceFactory.PermissionType.COOKIE);
     }
 
-    public boolean saveFormdata() {
-        return mPrefs.getBoolean(PREF_SAVE_FORMDATA, true);
-    }
-
     public boolean enableGeolocation() {
         return mPrefs.getBoolean(PREF_ENABLE_GEOLOCATION, true);
     }
diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java
index 135ecb3..b4b2976 100644
--- a/src/com/android/browser/PreferenceKeys.java
+++ b/src/com/android/browser/PreferenceKeys.java
@@ -98,7 +98,6 @@
     static final String PREF_PRIVACY_CLEAR_HISTORY = "privacy_clear_history";
     static final String PREF_PRIVACY_CLEAR_PASSWORDS = "privacy_clear_passwords";
     static final String PREF_REMEMBER_PASSWORDS = "remember_passwords";
-    static final String PREF_SAVE_FORMDATA = "save_formdata";
     static final String PREF_SHOW_SECURITY_WARNINGS = "show_security_warnings";
     static final String PREF_DO_NOT_TRACK = "do_not_track";
     static final String PREF_WEB_REFINER = "web_refiner";
