diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index a7804a1..b8c21cf 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -189,10 +189,22 @@
         // the useless IPC of {begin,end}BatchEdit.
         if (mWordComposer.isComposingWord()) {
             mConnection.beginBatchEdit();
+
+            final CharSequence textBeforeCursor =
+                    mConnection.getTextBeforeCursor(Constants.EDITOR_CONTENTS_CACHE_SIZE, 0);
+            final CharSequence textAfterCursor =
+                    mConnection.getTextAfterCursor(Constants.EDITOR_CONTENTS_CACHE_SIZE, 0);
+            final String text = String.valueOf(textBeforeCursor) + String.valueOf(textAfterCursor);
+            final String typedWord = mWordComposer.getTypedWord();
+            if (textBeforeCursor != null && !text.contains(typedWord)) {
+                mWordComposer.reset();
+            }
+
             // If we had a composition in progress, we need to commit the word so that the
             // suggestionsSpan will be added. This will allow resuming on the same suggestions
             // after rotation is finished.
             commitTyped(settingsValues, LastComposedWord.NOT_A_SEPARATOR);
+            mConnection.finishComposingText();
             mConnection.endBatchEdit();
         }
     }
