diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 50c61ffaebaf6a54b470342b45d088131caf8f70..af222081130c1e1a207b4a48a3d9cee5163eb447 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -782,11 +782,15 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
     }
 
     public void onAutoCorrectionStateChanged(boolean isAutoCorrection) {
-        if (isAutoCorrection != mIsAutoCorrectionActive) {
-            LatinKeyboardView keyboardView = getKeyboardView();
+        if (mIsAutoCorrectionActive != isAutoCorrection) {
             mIsAutoCorrectionActive = isAutoCorrection;
-            keyboardView.invalidateKey(((LatinKeyboard) keyboardView.getKeyboard())
-                    .onAutoCorrectionStateChanged(isAutoCorrection));
+            final LatinKeyboard keyboard = getLatinKeyboard();
+            if (keyboard != null && keyboard.needsAutoCorrectionSpacebarLed()) {
+                final Key invalidatedKey = keyboard.onAutoCorrectionStateChanged(isAutoCorrection);
+                final LatinKeyboardView keyboardView = getKeyboardView();
+                if (keyboardView != null)
+                    keyboardView.invalidateKey(invalidatedKey);
+            }
         }
     }
 
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index fc01d397621f0b50d546b3bfaeaaa97f637e24f3..7446aff9ee4fd18db1c21dd89811c3a476b78bd5 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1459,16 +1459,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
     }
 
     public void setSuggestions(SuggestedWords words) {
-//        if (mVoiceProxy.getAndResetIsShowingHint()) {
-//             setCandidatesView(mCandidateViewContainer);
-//        }
-
         if (mCandidateView != null) {
             mCandidateView.setSuggestions(words);
-            if (mKeyboardSwitcher.getLatinKeyboard().needsAutoCorrectionSpacebarLed()) {
-                mKeyboardSwitcher.onAutoCorrectionStateChanged(
-                        words.hasWordAboveAutoCorrectionScoreThreshold());
-            }
+            mKeyboardSwitcher.onAutoCorrectionStateChanged(
+                    words.hasWordAboveAutoCorrectionScoreThreshold());
         }
     }