diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index f64177d..3592687 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -276,13 +276,19 @@
 
             // Do not check this word if the user is currently editing it
             final boolean isEditing;
+
+            // Defer spell check when typing a word with an interior apostrophe.
+            // TODO: a better solution to this would be to make the word
+            // iterator locale-sensitive and include the apostrophe in
+            // languages that use it (such as English).
+            final boolean apostrophe = (selectionStart == end + 1 && editable.charAt(end) == '\'');
             if (mIsSentenceSpellCheckSupported) {
                 // Allow the overlap of the cursor and the first boundary of the spell check span
                 // no to skip the spell check of the following word because the
                 // following word will never be spell-checked even if the user finishes composing
-                isEditing = selectionEnd <= start || selectionStart > end;
+                isEditing = !apostrophe && (selectionEnd <= start || selectionStart > end);
             } else {
-                isEditing = selectionEnd < start || selectionStart > end;
+                isEditing = !apostrophe && (selectionEnd < start || selectionStart > end);
             }
             if (start >= 0 && end > start && isEditing) {
                 spellCheckSpan.setSpellCheckInProgress(true);
