diff --git a/java/src/com/android/inputmethod/latin/settings/TwoStatePreferenceHelper.java b/java/src/com/android/inputmethod/latin/settings/TwoStatePreferenceHelper.java
index edfcc99..07a871c 100644
--- a/java/src/com/android/inputmethod/latin/settings/TwoStatePreferenceHelper.java
+++ b/java/src/com/android/inputmethod/latin/settings/TwoStatePreferenceHelper.java
@@ -24,14 +24,14 @@
 
 import java.util.ArrayList;
 
-class TwoStatePreferenceHelper {
+public class TwoStatePreferenceHelper {
     private static final String EMPTY_TEXT = "";
 
     private TwoStatePreferenceHelper() {
         // This utility class is not publicly instantiable.
     }
 
-    static void replaceCheckBoxPreferencesBySwitchPreferences(final PreferenceGroup group) {
+    public static void replaceCheckBoxPreferencesBySwitchPreferences(final PreferenceGroup group) {
         // The keyboard settings keeps using a CheckBoxPreference on KitKat or previous.
         if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
             return;
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
index 186dafd..6850e9b 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
@@ -21,26 +21,20 @@
 import android.preference.PreferenceScreen;
 
 import com.android.inputmethod.latin.R;
+import com.android.inputmethod.latin.settings.TwoStatePreferenceHelper;
 import com.android.inputmethod.latin.utils.ApplicationUtils;
 
 /**
  * Preference screen.
  */
 public final class SpellCheckerSettingsFragment extends PreferenceFragment {
-    /**
-     * Empty constructor for fragment generation.
-     */
-    public SpellCheckerSettingsFragment() {
-    }
-
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
+    public void onActivityCreated(final Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         addPreferencesFromResource(R.xml.spell_checker_settings);
         final PreferenceScreen preferenceScreen = getPreferenceScreen();
-        if (preferenceScreen != null) {
-            preferenceScreen.setTitle(ApplicationUtils.getActivityTitleResId(
-                    getActivity(), SpellCheckerSettingsActivity.class));
-        }
+        preferenceScreen.setTitle(ApplicationUtils.getActivityTitleResId(
+                getActivity(), SpellCheckerSettingsActivity.class));
+        TwoStatePreferenceHelper.replaceCheckBoxPreferencesBySwitchPreferences(preferenceScreen);
     }
 }
