diff --git a/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java b/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java
index 9e97b12a5c5a964c3c62aa342d13973e691dcfb8..a82abdbc1ae63f2824fdb4605dfffa4968bab92b 100644
--- a/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java
+++ b/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java
@@ -33,4 +33,5 @@ public class DecoderSpecificConstants {
     public static final boolean SHOULD_VERIFY_MAGIC_NUMBER = true;
     public static final boolean SHOULD_VERIFY_CHECKSUM = true;
     public static final boolean SHOULD_USE_DICT_VERSION = true;
+    public static final boolean SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION = false;
 }
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 428956a7bc1a889493f6f3fec0d21f7a22a62a3d..832fcbcb023e8b1ed1474a5a7776c34adefc0daf 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -18,6 +18,8 @@ package com.android.inputmethod.latin;
 
 import android.text.TextUtils;
 
+import static com.android.inputmethod.latin.define.DecoderSpecificConstants.SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION;
+
 import com.android.inputmethod.keyboard.KeyboardLayout;
 import com.android.inputmethod.keyboard.ProximityInfo;
 import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
@@ -236,10 +238,11 @@ public final class Suggest {
         }
         final boolean resultsArePredictions = !wordComposer.isComposingWord();
 
-        // We allow auto-correction if we have a whitelisted word, or if the word had more than
-        // one char and was not suggested.
-        final boolean allowsToBeAutoCorrected = (null != whitelistedWord)
-                || (consideredWord.length() > 1 && (null == sourceDictionaryOfRemovedWord));
+        // We allow auto-correction if whitelisting is not required or the word is whitelisted,
+        // or if the word had more than one char and was not suggested.
+        final boolean allowsToBeAutoCorrected =
+                (SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION || whitelistedWord != null)
+                || (consideredWord.length() > 1 && (sourceDictionaryOfRemovedWord == null));
 
         final boolean hasAutoCorrection;
         // If correction is not enabled, we never auto-correct. This is for example for when