diff --git a/java/src/com/android/inputmethod/compat/EditorInfoCompatUtils.java b/java/src/com/android/inputmethod/compat/EditorInfoCompatUtils.java
index 938388d6c363cbea5b8cb034fbe24eb0f8a13a5f..d1af7a527c0ccd285d8559b15a47809cdc2a6f05 100644
--- a/java/src/com/android/inputmethod/compat/EditorInfoCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/EditorInfoCompatUtils.java
@@ -17,41 +17,14 @@
 package com.android.inputmethod.compat;
 
 import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputConnection;
 
 import java.lang.reflect.Field;
 
 public class EditorInfoCompatUtils {
-    private static final Field FIELD_IME_FLAG_NAVIGATE_NEXT = CompatUtils.getField(
-            EditorInfo.class, "IME_FLAG_NAVIGATE_NEXT");
-    private static final Field FIELD_IME_FLAG_NAVIGATE_PREVIOUS = CompatUtils.getField(
-            EditorInfo.class, "IME_FLAG_NAVIGATE_PREVIOUS");
     private static final Field FIELD_IME_FLAG_FORCE_ASCII = CompatUtils.getField(
             EditorInfo.class, "IME_FLAG_FORCE_ASCII");
-    private static final Field FIELD_IME_ACTION_PREVIOUS = CompatUtils.getField(
-            EditorInfo.class, "IME_ACTION_PREVIOUS");
-    private static final Integer OBJ_IME_FLAG_NAVIGATE_NEXT = (Integer) CompatUtils
-            .getFieldValue(null, null, FIELD_IME_FLAG_NAVIGATE_NEXT);
-    private static final Integer OBJ_IME_FLAG_NAVIGATE_PREVIOUS = (Integer) CompatUtils
-            .getFieldValue(null, null, FIELD_IME_FLAG_NAVIGATE_PREVIOUS);
     private static final Integer OBJ_IME_FLAG_FORCE_ASCII = (Integer) CompatUtils
             .getFieldValue(null, null, FIELD_IME_FLAG_FORCE_ASCII);
-    private static final Integer OBJ_IME_ACTION_PREVIOUS = (Integer) CompatUtils
-            .getFieldValue(null, null, FIELD_IME_ACTION_PREVIOUS);
-
-    // EditorInfo.IME_FLAG_NAVIGATE_NEXT has been introduced since API#11 (Honeycomb).
-    public static boolean hasFlagNavigateNext(int imeOptions) {
-        if (OBJ_IME_FLAG_NAVIGATE_NEXT == null)
-            return false;
-        return (imeOptions & OBJ_IME_FLAG_NAVIGATE_NEXT) != 0;
-    }
-
-    // EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS has been introduced since API#11 (Honeycomb).
-    public static boolean hasFlagNavigatePrevious(int imeOptions) {
-        if (OBJ_IME_FLAG_NAVIGATE_PREVIOUS == null)
-            return false;
-        return (imeOptions & OBJ_IME_FLAG_NAVIGATE_PREVIOUS) != 0;
-    }
 
     // EditorInfo.IME_FLAG_FORCE_ASCII has been introduced since API#16 (JellyBean).
     public static boolean hasFlagForceAscii(int imeOptions) {
@@ -60,13 +33,6 @@ public class EditorInfoCompatUtils {
         return (imeOptions & OBJ_IME_FLAG_FORCE_ASCII) != 0;
     }
 
-    // EditorInfo.IME_ACTION_PREVIOUS has been introduced since API#11 (Honeycomb).
-    public static void performEditorActionPrevious(InputConnection ic) {
-        if (OBJ_IME_ACTION_PREVIOUS == null || ic == null)
-            return;
-        ic.performEditorAction(OBJ_IME_ACTION_PREVIOUS);
-    }
-
     public static String imeActionName(int imeOptions) {
         final int actionId = imeOptions & EditorInfo.IME_MASK_ACTION;
         switch (actionId) {
@@ -84,12 +50,10 @@ public class EditorInfoCompatUtils {
             return "actionNext";
         case EditorInfo.IME_ACTION_DONE:
             return "actionDone";
+        case EditorInfo.IME_ACTION_PREVIOUS:
+            return "actionPrevious";
         default:
-            if (OBJ_IME_ACTION_PREVIOUS != null && actionId == OBJ_IME_ACTION_PREVIOUS) {
-                return "actionPrevious";
-            } else {
-                return "actionUnknown(" + actionId + ")";
-            }
+            return "actionUnknown(" + actionId + ")";
         }
     }
 
@@ -99,10 +63,10 @@ public class EditorInfoCompatUtils {
         if ((imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0) {
             flags.append("flagNoEnterAction|");
         }
-        if (hasFlagNavigateNext(imeOptions)) {
+        if ((imeOptions & EditorInfo.IME_FLAG_NAVIGATE_NEXT) != 0) {
             flags.append("flagNavigateNext|");
         }
-        if (hasFlagNavigatePrevious(imeOptions)) {
+        if ((imeOptions & EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS) != 0) {
             flags.append("flagNavigatePrevious|");
         }
         if (hasFlagForceAscii(imeOptions)) {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index 3b2b11e4e2194a036d2136f8453dc5703a6ed873..eef065f520d3a89ae6bc9f90d65fa4476e950bb7 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -131,11 +131,11 @@ public class KeyboardId {
     }
 
     public boolean navigateNext() {
-        return EditorInfoCompatUtils.hasFlagNavigateNext(mEditorInfo.imeOptions);
+        return (mEditorInfo.imeOptions & EditorInfo.IME_FLAG_NAVIGATE_NEXT) != 0;
     }
 
     public boolean navigatePrevious() {
-        return EditorInfoCompatUtils.hasFlagNavigatePrevious(mEditorInfo.imeOptions);
+        return (mEditorInfo.imeOptions & EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS) != 0;
     }
 
     public boolean passwordInput() {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3b41e3b0c9697f4a7cdc0fa73641379ae6ae5eb6..177f5e629f2478b2810c733582e4c92954657043 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -56,7 +56,6 @@ import android.view.inputmethod.InputMethodSubtype;
 import com.android.inputmethod.accessibility.AccessibilityUtils;
 import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
 import com.android.inputmethod.compat.CompatUtils;
-import com.android.inputmethod.compat.EditorInfoCompatUtils;
 import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
 import com.android.inputmethod.compat.SuggestionSpanUtils;
 import com.android.inputmethod.keyboard.Keyboard;
@@ -1273,7 +1272,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
             performeEditorAction(EditorInfo.IME_ACTION_NEXT);
             break;
         case Keyboard.CODE_ACTION_PREVIOUS:
-            EditorInfoCompatUtils.performEditorActionPrevious(getCurrentInputConnection());
+            performeEditorAction(EditorInfo.IME_ACTION_PREVIOUS);
             break;
         case Keyboard.CODE_LANGUAGE_SWITCH:
             handleLanguageSwitchKey();