diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 9bbc531..62cce1e 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -227,20 +227,18 @@
                 mWhiteListDictionary.getWhitelistedWord(consideredWord);
 
         final boolean hasAutoCorrection;
-        if (isCorrectionEnabled) {
-            if (null != whitelistedWord) {
-                hasAutoCorrection = true;
-            } else if (!AutoCorrection.isWhitelistedOrNotAWord(
-                    mDictionaries, consideredWord, false)) {
-                hasAutoCorrection = true;
-            } else if (suggestionsSet.isEmpty()) {
-                hasAutoCorrection = false;
-            } else if (AutoCorrection.hasAutoCorrectionForBinaryDictionary(suggestionsSet.first(),
-                    consideredWord, mAutoCorrectionThreshold)) {
-                hasAutoCorrection = true;
-            } else {
-                hasAutoCorrection = false;
-            }
+        if (!isCorrectionEnabled) {
+            hasAutoCorrection = false;
+        } else if (null != whitelistedWord) {
+            hasAutoCorrection = true;
+        } else if (!AutoCorrection.isWhitelistedOrNotAWord(
+                mDictionaries, consideredWord, false)) {
+            hasAutoCorrection = true;
+        } else if (suggestionsSet.isEmpty()) {
+            hasAutoCorrection = false;
+        } else if (AutoCorrection.hasAutoCorrectionForBinaryDictionary(suggestionsSet.first(),
+                consideredWord, mAutoCorrectionThreshold)) {
+            hasAutoCorrection = true;
         } else {
             hasAutoCorrection = false;
         }
