diff --git a/java/com/android/dialer/app/res/values/cm_strings.xml b/java/com/android/dialer/app/res/values/cm_strings.xml
index 90e6480..ba15b46 100644
--- a/java/com/android/dialer/app/res/values/cm_strings.xml
+++ b/java/com/android/dialer/app/res/values/cm_strings.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
      Copyright (C) 2013-2014 The CyanogenMod Project
+     Copyright (C) 2018 The LineageOS Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -15,11 +16,15 @@
      limitations under the License.
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="incall_vibration_category_key" translatable="false">dialer_general_incall_vibration_category_key</string>
-    <string name="incall_vibration_category_title">In-call vibration</string>
+    <string name="incall_category_key" translatable="false">dialer_general_incall_category_key</string>
+    <string name="incall_category_title">In-call</string>
+    <string name="incall_vibrate_outgoing_key" translatable="false">incall_vibrate_outgoing</string>
     <string name="incall_vibrate_outgoing_title">Vibrate on answer</string>
+    <string name="incall_vibrate_call_waiting_key" translatable="false">incall_vibrate_call_waiting</string>
     <string name="incall_vibrate_call_waiting_title">Vibrate on call waiting</string>
+    <string name="incall_vibrate_hangup_key" translatable="false">incall_vibrate_hangup</string>
     <string name="incall_vibrate_hangup_title">Vibrate on hang up</string>
+    <string name="incall_vibrate_45_key" translatable="false">incall_vibrate_45secs</string>
     <string name="incall_vibrate_45_title">Vibrate every minute</string>
     <string name="incall_vibrate_45_summary">Vibrates at the 45 second mark of every minute during outgoing calls</string>
 </resources>
diff --git a/java/com/android/dialer/app/res/xml/sound_settings.xml b/java/com/android/dialer/app/res/xml/sound_settings.xml
index c0e78c2..e26e51a 100644
--- a/java/com/android/dialer/app/res/xml/sound_settings.xml
+++ b/java/com/android/dialer/app/res/xml/sound_settings.xml
@@ -44,25 +44,25 @@
     android:title="@string/dtmf_tone_length_title"/>
 
   <PreferenceCategory
-    android:key="@string/incall_vibration_category_key"
-    android:title="@string/incall_vibration_category_title">
+    android:key="@string/incall_category_key"
+    android:title="@string/incall_category_title">
 
-    <CheckBoxPreference
-      android:key="incall_vibrate_outgoing"
+    <SwitchPreference
+      android:key="@string/incall_vibrate_outgoing_key"
       android:title="@string/incall_vibrate_outgoing_title" />
 
-    <CheckBoxPreference
-      android:key="incall_vibrate_call_waiting"
+    <SwitchPreference
+      android:key="@string/incall_vibrate_call_waiting_key"
       android:title="@string/incall_vibrate_call_waiting_title" />
 
-    <CheckBoxPreference
-      android:key="incall_vibrate_hangup"
+    <SwitchPreference
+      android:key="@string/incall_vibrate_hangup_key"
       android:title="@string/incall_vibrate_hangup_title" />
 
-    <CheckBoxPreference
-      android:key="incall_vibrate_45secs"
+    <SwitchPreference
+      android:key="@string/incall_vibrate_45_key"
       android:title="@string/incall_vibrate_45_title"
-     android:summary="@string/incall_vibrate_45_summary" />
+      android:summary="@string/incall_vibrate_45_summary" />
 
   </PreferenceCategory>
 
diff --git a/java/com/android/dialer/app/settings/SoundSettingsFragment.java b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
index 95f2a09..3c254cc 100644
--- a/java/com/android/dialer/app/settings/SoundSettingsFragment.java
+++ b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
@@ -97,10 +97,19 @@
       vibrateWhenRinging.setOnPreferenceChangeListener(this);
     } else {
       PreferenceScreen ps = getPreferenceScreen();
-      Preference inCallVibration = findPreference(
-          context.getString(R.string.incall_vibration_category_key));
+      Preference inCallVibrateOutgoing = findPreference(
+          context.getString(R.string.incall_vibrate_outgoing_key));
+      Preference inCallVibrateCallWaiting = findPreference(
+          context.getString(R.string.incall_vibrate_call_waiting_key));
+      Preference inCallVibrateHangup = findPreference(
+          context.getString(R.string.incall_vibrate_hangup_key));
+      Preference inCallVibrate45Secs = findPreference(
+          context.getString(R.string.incall_vibrate_45_key));
       ps.removePreference(vibrateWhenRinging);
-      ps.removePreference(inCallVibration);
+      ps.removePreference(inCallVibrateOutgoing);
+      ps.removePreference(inCallVibrateCallWaiting);
+      ps.removePreference(inCallVibrateHangup);
+      ps.removePreference(inCallVibrate45Secs);
       vibrateWhenRinging = null;
     }
 
