diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index dd94581..027fe9d 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -115,20 +115,6 @@
             android:title="@string/keys_enable_custom_title"
             android:persistent="false" />-->
 
-        <org.omnirom.omnigears.preference.SystemSettingSwitchPreference
-            android:key="button_back_kill_enable"
-            android:title="@string/button_back_kill_enable_title"
-            android:summary="@string/button_back_kill_enable_summary"
-            android:defaultValue="false"/>
-
-        <ListPreference
-            android:key="button_back_kill_timeout"
-            android:title="@string/button_back_kill_timeout_title"
-            android:entries="@array/button_back_kill_timeout_entries"
-            android:entryValues="@array/button_back_kill_timeout_values"
-            android:persistent="false"
-            android:dependency="button_back_kill_enable"/>
-
     </PreferenceCategory>
 <!--
     <PreferenceCategory
@@ -292,6 +278,20 @@
             android:entryValues="@array/long_press_home_action_values"
             android:persistent="false"/>
 
+        <org.omnirom.omnigears.preference.SystemSettingSwitchPreference
+            android:key="button_back_kill_enable"
+            android:title="@string/button_back_kill_enable_title"
+            android:summary="@string/button_back_kill_enable_summary"
+            android:defaultValue="false"/>
+
+        <ListPreference
+            android:key="button_back_kill_timeout"
+            android:title="@string/button_back_kill_timeout_title"
+            android:entries="@array/button_back_kill_timeout_entries"
+            android:entryValues="@array/button_back_kill_timeout_values"
+            android:persistent="false"
+            android:dependency="button_back_kill_enable"/>
+
         <PreferenceScreen
             android:key="global_actions"
             android:title="@string/global_actions_title"
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index 51bc89f..b93c8b2 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -465,15 +465,6 @@
             boolean harwareKeysDisable = Settings.System.getInt(resolver,
                         Settings.System.HARDWARE_KEYS_DISABLE, 0) == 1;
             mDisabkeHWKeys.setChecked(harwareKeysDisable);
-
-            mBackKillTimeout = (ListPreference) findPreference(BUTTON_BACK_KILL_TIMEOUT);
-            final int backKillTimeoutDefault = res.getInteger(com.android.internal.R.integer.config_backKillTimeout);
-            final int backKillTimeout = Settings.System.getInt(resolver,
-                    Settings.System.BUTTON_BACK_KILL_TIMEOUT, backKillTimeoutDefault);
-
-            mBackKillTimeout.setValue(Integer.toString(backKillTimeout));
-            mBackKillTimeout.setSummary(mBackKillTimeout.getEntry());
-            mBackKillTimeout.setOnPreferenceChangeListener(this);
         }
 
         mNavbarRecentsStyle = (ListPreference) findPreference(NAVIGATION_BAR_RECENTS_STYLE);
@@ -502,6 +493,15 @@
         mLongPressHomeAction.setSummary(mLongPressHomeAction.getEntry());
         mLongPressHomeAction.setOnPreferenceChangeListener(this);
 
+        mBackKillTimeout = (ListPreference) findPreference(BUTTON_BACK_KILL_TIMEOUT);
+        final int backKillTimeoutDefault = res.getInteger(com.android.internal.R.integer.config_backKillTimeout);
+        final int backKillTimeout = Settings.System.getInt(resolver,
+                Settings.System.BUTTON_BACK_KILL_TIMEOUT, backKillTimeoutDefault);
+
+        mBackKillTimeout.setValue(Integer.toString(backKillTimeout));
+        mBackKillTimeout.setSummary(mBackKillTimeout.getEntry());
+        mBackKillTimeout.setOnPreferenceChangeListener(this);
+
 //        final PreferenceCategory headsethookCategory =
 //                (PreferenceCategory) prefScreen.findPreference(CATEGORY_HEADSETHOOK);
 
