diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index ff850b7..9633e66 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1606,10 +1606,6 @@
                 if (pickedDefaultSuggestion) {
                     final CharSequence autoCorrection = mWordComposer.getAutoCorrectionOrNull();
                     final String typedWord = mWordComposer.getTypedWord();
-                    if (TextUtils.isEmpty(typedWord)) {
-                        throw new RuntimeException("We have non-committed chars but the typed word "
-                                + "is empty? Impossible! I must commit suicide.");
-                    }
                     if (!typedWord.equals(autoCorrection)) {
                         // This will make the correction flash for a short while as a visual clue
                         // to the user that auto-correction happened.
@@ -1882,6 +1878,10 @@
         final CharSequence autoCorrection = mWordComposer.getAutoCorrectionOrNull();
         if (autoCorrection != null) {
             final String typedWord = mWordComposer.getTypedWord();
+            if (TextUtils.isEmpty(typedWord)) {
+                throw new RuntimeException("We have an auto-correction but the typed word "
+                        + "is empty? Impossible! I must commit suicide.");
+            }
             Utils.Stats.onAutoCorrection(typedWord, autoCorrection.toString(), separatorCode);
             mExpectingUpdateSelection = true;
             commitBestWord(autoCorrection);
