diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 64b9bd2..32c28fd 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -57,6 +57,8 @@
     <string name="button_volume_keys_title">Volume</string>
     <string name="button_volume_wake_title">Button wake</string>
     <string name="button_volume_wake_summary">Pressing a volume button will wake the device</string>
+    <string name="volume_button_music_control_title">Music control</string>
+    <string name="volume_button_music_control_summary">Long press volume buttons to switch tracks while screen off</string>
     <string name="keys_action_sleep">Go to sleep</string>
     <string name="keys_action_omniswitch">OmniSwitch recents</string>
     <string name="button_home_wake_title">Button wake</string>
diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index efc4112..4a5e9dd 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -39,7 +39,8 @@
             android:key="button_volume_wake_screen"
             android:title="@string/button_volume_wake_title"
             android:summary="@string/button_volume_wake_summary"
-            android:persistent="false"/>
+            android:persistent="false"
+            android:disableDependentsState="true" />
 
         <!--<ListPreference
             android:key="button_volume_default_screen"
@@ -47,15 +48,15 @@
             android:summary="@string/button_volume_default_summary"
             android:entries="@array/button_volume_default_entries"
             android:entryValues="@array/button_volume_default_values"
-            android:persistent="false"/>
+            android:persistent="false"/>-->
 
-        <CheckBoxPreference
-            android:key="button_volume_music_control"
-            android:title="@string/button_volume_music_control_title"
-            android:summary="@string/button_volume_music_control_summary"
-            android:persistent="false"/>
+        <com.android.settings.preference.SystemCheckBoxPreference
+            android:key="volume_button_music_control"
+            android:title="@string/volume_button_music_control_title"
+            android:summary="@string/volume_button_music_control_summary"
+            android:dependency="button_volume_wake_screen"/>
 
-        <ListPreference
+        <!-- <ListPreference
             android:key="volume_key_cursor_control"
             android:persistent="false"
             android:dialogTitle="@string/volume_key_cursor_control_title"
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index c2c602e..0ffc508 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -83,7 +83,6 @@
     private static final String BUTTON_HOME_WAKE = "button_home_wake_screen";
     private static final String BUTTON_HOME_ANSWERS_CALL = "button_home_answers_call";
 //    private static final String BUTTON_VOLUME_DEFAULT = "button_volume_default_screen";
-//    private static final String BUTTON_VOLUME_MUSIC_CONTROL = "button_volume_music_control";
 //    private static final String VOLUME_KEY_CURSOR_CONTROL = "volume_key_cursor_control";
     private static final String SWAP_VOLUME_BUTTONS = "swap_volume_buttons";
 //    private static final String CATEGORY_HEADSETHOOK = "button_headsethook";
@@ -135,7 +134,6 @@
     private CheckBoxPreference mVolumeWake;
     private CheckBoxPreference mHomeWake;
     private CheckBoxPreference mHomeAnswerCall;
-//    private CheckBoxPreference mVolumeMusicControl;
     private CheckBoxPreference mSwapVolumeButtons;
 //    private ListPreference mVolumeKeyCursorControl;
     private SwitchPreference mEnableCustomBindings;
@@ -207,11 +205,7 @@
 //
 //          mVolumeDefault.setValue(Integer.toString(currentDefault));
 //          mVolumeDefault.setOnPreferenceChangeListener(this);
-//
-//          mVolumeMusicControl = (CheckBoxPreference) findPreference(BUTTON_VOLUME_MUSIC_CONTROL);
-//          mVolumeMusicControl.setChecked(Settings.System.getInt(resolver,
-//                  Settings.System.VOLUME_MUSIC_CONTROL, 0) != 0);
-//
+
             mSwapVolumeButtons = (CheckBoxPreference) findPreference(SWAP_VOLUME_BUTTONS);
             mSwapVolumeButtons.setChecked(Settings.System.getInt(resolver,
                    Settings.System.SWAP_VOLUME_BUTTONS, 0) != 0);
@@ -525,11 +519,6 @@
 //            Settings.System.putInt(getContentResolver(),
 //                    Settings.System.VIRTUAL_KEYS_HAPTIC_FEEDBACK, checked ? 1:0);
 //            return true;
-//        } else if (preference == mVolumeMusicControl) {
-//            boolean checked = ((CheckBoxPreference)preference).isChecked();
-//            Settings.System.putInt(getActivity().getContentResolver(),
-//                    Settings.System.VOLUME_MUSIC_CONTROL, checked ? 1:0);
-//            return true;
 //        } else if (preference == mForceShowOverflowMenu) {
 //            boolean checked = ((CheckBoxPreference)preference).isChecked();
 //            Settings.System.putInt(getContentResolver(),
