diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 6c6d2df..3d62303 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -134,7 +134,6 @@
     private float mPreviewTextRatio;
     private int mPreviewTextSize;
     private boolean mShowKeyPreviewPopup = true;
-    private int mKeyPreviewPopupDisplayedY = -1;
     private final int mDelayBeforePreview;
     private int mDelayAfterPreview;
     private ViewGroup mPreviewPlacer;
@@ -934,8 +933,6 @@
             // Dismiss key preview (in this case, slide language switcher) without any delay.
             mPreviewText.setVisibility(View.INVISIBLE);
         }
-        // Clear key preview display position.
-        mKeyPreviewPopupDisplayedY = -1;
     }
 
     private void addKeyPreview(TextView keyPreview) {
@@ -998,8 +995,6 @@
         getLocationInWindow(mCoordinates);
         final int previewX = keyDrawX - (previewWidth - keyDrawWidth) / 2 + mCoordinates[0];
         final int previewY = key.mY - previewHeight + mCoordinates[1] + mPreviewOffset;
-        // Record key preview position to display mini-keyboard later at the same position
-        mKeyPreviewPopupDisplayedY = previewY;
 
         // Place the key preview.
         // TODO: Adjust position of key previews which touch screen edges
@@ -1150,7 +1145,7 @@
             mPopupWindow.setClippingEnabled(false);
         }
         mPopupMiniKeyboardPanel = popupPanel;
-        popupPanel.showPanel(this, parentKey, tracker, mKeyPreviewPopupDisplayedY, mPopupWindow);
+        popupPanel.showPanel(this, parentKey, tracker, mPopupWindow);
 
         invalidateAllKeys();
         return true;
diff --git a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
index 3642df0..3b8c364 100644
--- a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
@@ -66,7 +66,7 @@
 
     @Override
     public void showPanel(KeyboardView parentKeyboardView, Key parentKey,
-            PointerTracker tracker, int keyPreviewY, PopupWindow window) {
+            PointerTracker tracker, PopupWindow window) {
         final View container = (View)getParent();
         final MiniKeyboard miniKeyboard = (MiniKeyboard)getKeyboard();
         final Keyboard parentKeyboard = parentKeyboardView.getKeyboard();
diff --git a/java/src/com/android/inputmethod/keyboard/PopupPanel.java b/java/src/com/android/inputmethod/keyboard/PopupPanel.java
index 6ecb1c9..386e11f 100644
--- a/java/src/com/android/inputmethod/keyboard/PopupPanel.java
+++ b/java/src/com/android/inputmethod/keyboard/PopupPanel.java
@@ -25,12 +25,10 @@
      * @param parentKeyboardView the parent KeyboardView that has the parent key.
      * @param parentKey the parent key that is the source of this popup panel
      * @param tracker the pointer tracker that pressesd the parent key
-     * @param keyPreviewY the Y-coordinate of key preview
      * @param window PopupWindow to be used to show this popup panel
      */
-    // TODO: Remove keyPreviewY from argument.
     public void showPanel(KeyboardView parentKeyboardView, Key parentKey,
-            PointerTracker tracker, int keyPreviewY, PopupWindow window);
+            PointerTracker tracker, PopupWindow window);
 
     /**
      * Check if the pointer is in siding key input mode.
