diff --git a/java/com/android/incallui/DialpadFragment.java b/java/com/android/incallui/DialpadFragment.java
index 2f3a68c..b2aacf7 100644
--- a/java/com/android/incallui/DialpadFragment.java
+++ b/java/com/android/incallui/DialpadFragment.java
@@ -202,15 +202,6 @@
     mDtmfDialerField.setText(PhoneNumberUtilsCompat.createTtsSpannable(text));
   }
 
-  @Override
-  public void setVisible(boolean on) {
-    if (on) {
-      getView().setVisibility(View.VISIBLE);
-    } else {
-      getView().setVisibility(View.INVISIBLE);
-    }
-  }
-
   /** Starts the slide up animation for the Dialpad keys when the Dialpad is revealed. */
   public void animateShowDialpad() {
     final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view);
diff --git a/java/com/android/incallui/DialpadPresenter.java b/java/com/android/incallui/DialpadPresenter.java
index 7a784c2..002fefc 100644
--- a/java/com/android/incallui/DialpadPresenter.java
+++ b/java/com/android/incallui/DialpadPresenter.java
@@ -84,8 +84,6 @@
 
   public interface DialpadUi extends Ui {
 
-    void setVisible(boolean on);
-
     void appendDigitsToField(char digit);
   }
 }
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index 28ff7da..47b5986 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -35,7 +35,6 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
-import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
 import android.support.v4.content.res.ResourcesCompat;
@@ -787,6 +786,7 @@
       transaction.add(getDialpadContainerId(), new DialpadFragment(), Tags.DIALPAD_FRAGMENT);
     } else {
       transaction.show(dialpadFragment);
+      dialpadFragment.setUserVisibleHint(true);
     }
     transaction.commitAllowingStateLoss();
     dialpadFragmentManager.executePendingTransactions();
@@ -801,19 +801,20 @@
       return;
     }
 
-    Fragment dialpadFragment = dialpadFragmentManager.findFragmentByTag(Tags.DIALPAD_FRAGMENT);
+    DialpadFragment dialpadFragment = getDialpadFragment();
     if (dialpadFragment != null) {
       FragmentTransaction transaction = dialpadFragmentManager.beginTransaction();
       transaction.hide(dialpadFragment);
       transaction.commitAllowingStateLoss();
       dialpadFragmentManager.executePendingTransactions();
+      dialpadFragment.setUserVisibleHint(false);
     }
     updateNavigationBar(false /* isDialpadVisible */);
   }
 
   public boolean isDialpadVisible() {
     DialpadFragment dialpadFragment = getDialpadFragment();
-    return dialpadFragment != null && dialpadFragment.isVisible();
+    return dialpadFragment != null && dialpadFragment.getUserVisibleHint();
   }
 
   /** Returns the {@link DialpadFragment} that's shown by this activity, or {@code null} */
