diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index cc0d51f..d079990 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -807,7 +807,6 @@
     <string name="columns_menu">Columns layout</string>
     <string name="hide_summary_menu">Hide summary</string>
     <string name="more_settings_title">More</string>
-    <string name="omni_device_parts">Device features</string>
     <string name="style_settings_title">Themes</string>
     <string name="style_settings_summary">Customize the look and feel</string>
     <string name="custom_bars_settings_title">Bars</string>
diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index 621146f..ffa5533 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -65,12 +65,6 @@
             android:summary="@string/global_actions_advanced_reboot_summary_new"
             android:defaultValue="false" />
 
-        <org.omnirom.omnilib.preference.SystemSettingSwitchPreference
-            android:key="system_proxi_check_enabled"
-            android:title="@string/system_proxi_check_enabled_title"
-            android:summary="@string/system_proxi_check_enabled_summary"
-            android:defaultValue="false"/>
-
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/omni_dashboard_fragment.xml b/res/xml/omni_dashboard_fragment.xml
index 507d32a..0965f1b 100644
--- a/res/xml/omni_dashboard_fragment.xml
+++ b/res/xml/omni_dashboard_fragment.xml
@@ -25,12 +25,6 @@
         android:fragment="org.omnirom.omnigears.interfacesettings.StyleSettings" />
 
     <Preference
-        android:key="device_parts"
-        android:title="@string/omni_device_parts"
-        android:icon="@drawable/ic_settings_omnigears"
-        android:fragment="org.omnirom.device.DeviceParts" />
-
-    <Preference
         android:key="button_settings"
         android:title="@string/button_settings_title"
         android:icon="@drawable/ic_settings_buttons"
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index 4baf717..f21e9c6 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -59,7 +59,6 @@
     private static final String CATEGORY_POWER = "button_power";
     private static final String KEYS_SHOW_NAVBAR_KEY = "navigation_bar_show";
     private static final String NAVIGATION_BAR_RECENTS_STYLE = "navbar_recents_style";
-    private static final String SYSTEM_PROXI_CHECK_ENABLED = "system_proxi_check_enabled";
 
     private ListPreference mNavbarRecentsStyle;
     private SwitchPreference mEnableNavBar;
@@ -99,11 +98,6 @@
         mNavbarRecentsStyle.setSummary(mNavbarRecentsStyle.getEntry());
         mNavbarRecentsStyle.setOnPreferenceChangeListener(this);
 
-        boolean supportPowerButtonProxyCheck = getResources().getBoolean(com.android.internal.R.bool.config_proxiSensorWakupCheck);
-        SwitchPreference proxyCheckPreference = (SwitchPreference) findPreference(SYSTEM_PROXI_CHECK_ENABLED);
-        if (!DeviceUtils.deviceSupportsProximitySensor(getActivity()) || !supportPowerButtonProxyCheck) {
-            powerCategory.removePreference(proxyCheckPreference);
-        }
     }
 
     @Override
