diff --git a/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index 52067526abee59ff936c648f396a891348e91e17..92b7cd4a1bce8e4cc10872d6ebdae1b62fc39774 100644
--- a/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -115,6 +115,7 @@ public class KeyboardSwitcher {
     void setKeyboardMode(int mode, int imeOptions, boolean isSymbols) {
         mMode = mode;
         mImeOptions = imeOptions;
+        mIsSymbols = isSymbols;
         mInputView.setPreviewEnabled(true);
         KeyboardId id = getKeyboardId(mode, imeOptions, isSymbols);
         LatinKeyboard keyboard = getKeyboard(id);
@@ -226,7 +227,6 @@ public class KeyboardSwitcher {
     }
 
     void toggleSymbols() {
-        mIsSymbols = !mIsSymbols;
-        setKeyboardMode(mMode, mImeOptions, mIsSymbols);
+        setKeyboardMode(mMode, mImeOptions, !mIsSymbols);
     }
 }