diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
index ff197ba27415893a8bf8d3e864144ee5196ed4d9..625d1f0a4f0df88d5bd3a880a4609620c068eb02 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyPreviewChoreographer.java
@@ -101,10 +101,11 @@ public final class KeyPreviewChoreographer {
             if (tag instanceof KeyPreviewAnimations) {
                 final KeyPreviewAnimations animation = (KeyPreviewAnimations)tag;
                 animation.startDismiss();
+                return;
             }
-            return;
         }
         // Dismiss preview without animation.
+        mShowingKeyPreviewTextViews.remove(key);
         if (tag instanceof Animator) {
             ((Animator)tag).cancel();
         }