diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java
index eed40f4..ed175f5 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java
@@ -220,7 +220,7 @@
             provider.sendAccessibilityEventForKey(
                     key, AccessibilityEventCompat.TYPE_VIEW_HOVER_ENTER);
             provider.performActionForKey(
-                    key, AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS, null);
+                    key, AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS);
             break;
         case MotionEvent.ACTION_HOVER_EXIT:
             provider.sendAccessibilityEventForKey(
diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
index cddd1c7..d6ae698 100644
--- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
+++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityNodeProvider.java
@@ -229,7 +229,7 @@
         if (key == null) {
             return false;
         }
-        return performActionForKey(key, action, arguments);
+        return performActionForKey(key, action);
     }
 
     /**
@@ -237,25 +237,16 @@
      *
      * @param key The on which to perform the action.
      * @param action The action to perform.
-     * @param arguments The action's arguments.
      * @return The result of performing the action, or false if the action is not supported.
      */
-    boolean performActionForKey(final Key key, final int action, final Bundle arguments) {
-        final int virtualViewId = getVirtualViewIdOf(key);
-
+    boolean performActionForKey(final Key key, final int action) {
         switch (action) {
         case AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS:
-            if (mAccessibilityFocusedView == virtualViewId) {
-                return false;
-            }
-            mAccessibilityFocusedView = virtualViewId;
+            mAccessibilityFocusedView = getVirtualViewIdOf(key);
             sendAccessibilityEventForKey(
                     key, AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
             return true;
         case AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS:
-            if (mAccessibilityFocusedView != virtualViewId) {
-                return false;
-            }
             mAccessibilityFocusedView = UNDEFINED;
             sendAccessibilityEventForKey(
                     key, AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED);
