diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java
index 0d90b1c..4519abc 100644
--- a/java/src/com/android/inputmethod/latin/AutoCorrection.java
+++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java
@@ -75,7 +75,7 @@
     }
 
     // Returns true if this is a whitelist entry, or it isn't in any dictionary.
-    public static boolean allowsToBeAutoCorrected(
+    public static boolean isWhitelistedOrNotAWord(
             final ConcurrentHashMap<String, Dictionary> dictionaries,
             final CharSequence word, final boolean ignoreCase) {
         final WhitelistDictionary whitelistDictionary =
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index fda2095..bf3d9c4 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -233,7 +233,7 @@
             final CharSequence autoCorrection;
             if (null != whitelistedWord) {
                 autoCorrection = whitelistedWord;
-            } else if (!AutoCorrection.allowsToBeAutoCorrected(
+            } else if (!AutoCorrection.isWhitelistedOrNotAWord(
                     mDictionaries, consideredWord, false)) {
                 autoCorrection = consideredWord;
             } else if (AutoCorrection.hasAutoCorrectionForBinaryDictionary(bestSuggestion,
@@ -290,7 +290,7 @@
         // The whitelist should be case-insensitive, so it's not possible to be consistent with
         // a boolean flag. Right now this is handled with a slight hack in
         // WhitelistDictionary#shouldForciblyAutoCorrectFrom.
-        final boolean allowsToBeAutoCorrected = AutoCorrection.allowsToBeAutoCorrected(
+        final boolean allowsToBeAutoCorrected = AutoCorrection.isWhitelistedOrNotAWord(
                 getUnigramDictionaries(), consideredWord, wordComposer.isFirstCharCapitalized())
         // If we don't have a main dictionary, we never want to auto-correct. The reason for this
         // is, the user may have a contact whose name happens to match a valid word in their
