diff --git a/java/src/com/android/inputmethod/dictionarypack/ButtonSwitcher.java b/java/src/com/android/inputmethod/dictionarypack/ButtonSwitcher.java
index 391a15c..5ab94a4 100644
--- a/java/src/com/android/inputmethod/dictionarypack/ButtonSwitcher.java
+++ b/java/src/com/android/inputmethod/dictionarypack/ButtonSwitcher.java
@@ -126,6 +126,7 @@
                     new AnimatorListenerAdapter() {
                         @Override
                         public void onAnimationEnd(final Animator animation) {
+                            if (newStatus != mStatus) return;
                             animateButton(newButton, ANIMATION_IN);
                         }
                     });
@@ -144,8 +145,10 @@
         final float outerX = getWidth();
         final float innerX = button.getX() - button.getTranslationX();
         if (ANIMATION_IN == direction) {
+            button.setClickable(true);
             return button.animate().translationX(0);
         } else {
+            button.setClickable(false);
             return button.animate().translationX(outerX - innerX);
         }
     }
diff --git a/java/src/com/android/inputmethod/dictionarypack/WordListPreference.java b/java/src/com/android/inputmethod/dictionarypack/WordListPreference.java
index 1cf9196..e14055b 100644
--- a/java/src/com/android/inputmethod/dictionarypack/WordListPreference.java
+++ b/java/src/com/android/inputmethod/dictionarypack/WordListPreference.java
@@ -219,8 +219,9 @@
             final ListView listView = (ListView)parent;
             final int indexToOpen;
             // Close all first, we'll open back any item that needs to be open.
+            final boolean wasOpen = mInterfaceState.isOpen(mWordlistId);
             mInterfaceState.closeAll();
-            if (mInterfaceState.isOpen(mWordlistId)) {
+            if (wasOpen) {
                 // This button being shown. Take note that we don't want to open any button in the
                 // loop below.
                 indexToOpen = -1;
