diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 80428730912c110a3f60ba0d1cb1954266592c0e..f2d971ca46280b6afe6b4936cd206515b9854915 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -182,12 +182,13 @@ public class SubtypeSwitcher {
                     + newSubtype.getLocale() + "/" + newSubtype.getExtraValue() + ", from: "
                     + mCurrentSubtype.getLocale() + "/" + mCurrentSubtype.getExtraValue());
         }
-        if (newSubtype.equals(mCurrentSubtype)) return;
 
         final Locale newLocale = SubtypeLocale.getSubtypeLocale(newSubtype);
         mNeedsToDisplayLanguage.updateIsSystemLanguageSameAsInputLanguage(
                 mCurrentSystemLocale.equals(newLocale));
 
+        if (newSubtype.equals(mCurrentSubtype)) return;
+
         mCurrentSubtype = newSubtype;
         updateShortcutIME();
         mService.onRefreshKeyboard();