diff --git a/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java b/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
index 510d15f..8a0b620 100644
--- a/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
+++ b/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
@@ -25,6 +25,7 @@
 import android.preference.Preference;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.textservice.SpellCheckerInfo;
@@ -36,6 +37,8 @@
 
 public class SingleSpellCheckerPreference extends Preference {
     private static final float DISABLED_ALPHA = 0.4f;
+    private static final String TAG = SingleSpellCheckerPreference.class.getSimpleName();
+    private static final boolean DBG = false;
 
     private final SpellCheckerInfo mSpellCheckerInfo;
 
@@ -157,6 +160,11 @@
                 } else {
                     mTsm.setSpellCheckerSubtype(mSpellCheckerInfo.getSubtypeAt(which - 1));
                 }
+                if (DBG) {
+                    final SpellCheckerSubtype subtype = mTsm.getCurrentSpellCheckerSubtype(true);
+                    Log.d(TAG, "Current spell check locale is "
+                            + subtype == null ? "null" : subtype.getLocale());
+                }
                 dialog.dismiss();
             }
         });
diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
index 9a85fc6..b964999 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
@@ -24,13 +24,17 @@
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceScreen;
+import android.util.Log;
 import android.view.textservice.SpellCheckerInfo;
+import android.view.textservice.SpellCheckerSubtype;
 import android.view.textservice.TextServicesManager;
 
 import java.util.ArrayList;
 
 public class SpellCheckersSettings extends SettingsPreferenceFragment
         implements Preference.OnPreferenceClickListener {
+    private static final String TAG = SpellCheckersSettings.class.getSimpleName();
+    private static final boolean DBG = false;
 
     private SpellCheckerInfo mCurrentSci;
     private SpellCheckerInfo[] mEnabledScis;
@@ -98,6 +102,10 @@
                 mTsm.setCurrentSpellChecker(scp.getSpellCheckerInfo());
             }
         }
+        if (DBG) {
+            Log.d(TAG, "Current spell check is "
+                        + SpellCheckerUtils.getCurrentSpellChecker(mTsm).getId());
+        }
         updateScreen();
         return true;
     }
