diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 2bbe827..69f37dd 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -238,7 +238,8 @@
             hasAutoCorrection = false;
         } else if (AutoCorrection.suggestionExceedsAutoCorrectionThreshold(suggestionsSet.first(),
                 consideredWord, mAutoCorrectionThreshold)) {
-            hasAutoCorrection = true;
+            hasAutoCorrection = !shouldBlockAutoCorrectionBySafetyNet(typedWord,
+                    suggestionsSet.first().mWord);
         } else {
             hasAutoCorrection = false;
         }
@@ -299,14 +300,6 @@
         // Don't auto-correct words with multiple capital letter
         autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
         autoCorrectionAvailable &= !wordComposer.isResumed();
-        // TODO: this safety net check should be done right after we decide that the suggestion
-        // exceeds the auto-correction threshold. However as long as the |= !allowsToBeAutoCorrected
-        // line is there it can't be done safely in a logical manner.
-        if (allowsToBeAutoCorrected && suggestionsList.size() > 1 && mAutoCorrectionThreshold > 0
-                && Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord,
-                        suggestionsList.get(1).mWord)) {
-            autoCorrectionAvailable = false;
-        }
         return new SuggestedWords(suggestionsList,
                 // TODO: this first argument is lying. If this is a whitelisted word which is an
                 // actual word, it says typedWordValid = false, which looks wrong. We should either
