diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
index bc5cdbc..a7f0a95 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/dialer/DialerImplementsTelecomIntentsActivity.java
@@ -17,12 +17,15 @@
 package com.android.cts.verifier.dialer;
 
 import android.content.Intent;
+import android.content.Context;
 import android.os.Bundle;
 import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
 import android.view.View;
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
+
 import com.android.cts.verifier.PassFailButtons;
 import com.android.cts.verifier.R;
 
@@ -37,6 +40,7 @@
   private CheckBox mLaunchCallingAccountsSettingsCheckBox;
   private Button mLaunchAccessibilitySettingsButton;
   private CheckBox mLaunchAccessibilitySettingsCheckBox;
+  private TelephonyManager mTelephonyManager;
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
@@ -50,6 +54,8 @@
     setPassFailButtonClickListeners();
     getPassButton().setEnabled(false);
 
+    mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+
     mLaunchCallSettingsCheckBox = findViewById(R.id.dialer_telecom_intents_call_settings_check_box);
     mLaunchShortSmsAnswerCheckBox = findViewById(R.id.dialer_telecom_intents_short_sms_check_box);
     mLaunchCallingAccountsSettingsCheckBox =
@@ -85,6 +91,11 @@
     mLaunchAccessibilitySettingsButton.setOnClickListener(
         (View unused) ->
             startActivity(new Intent(TelecomManager.ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS)));
+    if (!mTelephonyManager.isHearingAidCompatibilitySupported() && !mTelephonyManager.isTtyModeSupported()) {
+        mLaunchAccessibilitySettingsButton.setVisibility(View.INVISIBLE);
+        mLaunchAccessibilitySettingsCheckBox.setVisibility(View.INVISIBLE);
+        mLaunchAccessibilitySettingsCheckBox.setChecked(true);
+    }
   }
 
   private void onCheckedChangeListener() {
