diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index d12708db95369e97e95dfd114de7cd483af5ee08..24d599eb6251a08ed4ee080eb59c1e97da0eeebe 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1814,8 +1814,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
             final int rawPrimaryCode = suggestion.charAt(0);
             // Maybe apply the "bidi mirrored" conversions for parentheses
             final LatinKeyboard keyboard = mKeyboardSwitcher.getLatinKeyboard();
-            final int primaryCode = Key.getRtlParenthesisCode(
-                    rawPrimaryCode, keyboard.mIsRtlKeyboard);
+            final boolean isRtl = keyboard != null && keyboard.mIsRtlKeyboard;
+            final int primaryCode = Key.getRtlParenthesisCode(rawPrimaryCode, isRtl);
 
             final CharSequence beforeText = ic != null ? ic.getTextBeforeCursor(1, 0) : "";
             final int toLeft = (ic == null || TextUtils.isEmpty(beforeText))