diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
index 810bd9150618d67ceee8de3e4529b94ef2fa6459..3a2869950403507d1be69aa95a861c582c8e8dea 100644
--- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java
@@ -705,7 +705,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
         final AnimatorSet zoomOutAnimation = new AnimatorSet();
         zoomOutAnimation.play(scaleXAnimation).with(scaleYAnimation);
         // TODO: Implement preference option to control key preview animation duration.
-        zoomOutAnimation.setDuration(mKeyPreviewZoomOutDuration);
+        final int zoomOutDuration = Math.min(mKeyPreviewZoomOutDuration, mKeyPreviewLingerTimeout);
+        zoomOutAnimation.setDuration(zoomOutDuration);
         zoomOutAnimation.setInterpolator(ACCELERATE_INTERPOLATOR);
         zoomOutAnimation.addListener(new AnimatorListenerAdapter() {
             @Override