diff --git a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
index 519244165..ad0e8d41a 100644
--- a/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
+++ b/java/src/com/android/inputmethod/latin/BaseKeyboardView.java
@@ -929,10 +929,11 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
         // the space key preview and 3) pointer moves off the space key to other letter key, we
         // should hide the preview of the previous key.
         final boolean hidePreviewOrShowSpaceKeyPreview = (tracker == null)
-                || tracker.isSpaceKey(keyIndex) || tracker.isSpaceKey(oldKeyIndex);
+                || (SubtypeSwitcher.USE_SPACEBAR_LANGUAGE_SWITCHER
+                        && SubtypeSwitcher.getInstance().needsToDisplayLanguage()
+                        && (tracker.isSpaceKey(keyIndex) || tracker.isSpaceKey(oldKeyIndex)));
         // If key changed and preview is on or the key is space (language switch is enabled)
-        if (oldKeyIndex != keyIndex && (mShowPreview || (hidePreviewOrShowSpaceKeyPreview
-                && SubtypeSwitcher.getInstance().needsToDisplayLanguage()))) {
+        if (oldKeyIndex != keyIndex && (mShowPreview || (hidePreviewOrShowSpaceKeyPreview))) {
             if (keyIndex == NOT_A_KEY) {
                 mHandler.cancelPopupPreview();
                 mHandler.dismissPreview(mDelayAfterPreview);
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 11b4dc7f4..768274ed7 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -74,7 +74,7 @@ public class SubtypeSwitcher {
     // TODO: Cache the value
     public boolean needsToDisplayLanguage() {
      // TODO: Takes care of two-char locale such as "en" in addition to "en_US"
-        return !(getEnabledKeyboardLocaleCount() == 1 && getSystemLocale().getLanguage(
+        return !(getEnabledKeyboardLocaleCount() <= 1 && getSystemLocale().getLanguage(
                 ).equalsIgnoreCase(getInputLocale().getLanguage()));
     }