diff --git a/res/drawable/ic_menu_blocked_numbers.xml b/res/drawable/ic_menu_blocked_numbers.xml
deleted file mode 100644
index 9e03397..0000000
--- a/res/drawable/ic_menu_blocked_numbers.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z"/>
-</vector>
\ No newline at end of file
diff --git a/res/menu/activity_main_drawer.xml b/res/menu/activity_main_drawer.xml
index 43432ab..a006761 100644
--- a/res/menu/activity_main_drawer.xml
+++ b/res/menu/activity_main_drawer.xml
@@ -24,10 +24,6 @@
             android:icon="@drawable/ic_menu_filter"
             android:title="@string/contactsList" />
         <item
-            android:id="@+id/nav_blocked_numbers"
-            android:icon="@drawable/ic_menu_blocked_numbers"
-            android:title="@string/menu_blocked_numbers"/>
-        <item
             android:id="@+id/nav_find_duplicates"
             android:icon="@drawable/ic_menu_duplicates"
             android:title="@string/menu_duplicates"/>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 12471ef..735545e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -898,9 +898,6 @@
     <!-- Text shown in the contacts app while the background process updates contacts after a locale change [CHAR LIMIT=150]-->
     <string name="locale_change_in_progress">Contact list is being updated to reflect the change of language.\n\nPlease wait&#8230;</string>
 
-    <!-- The menu item to open blocked numbers activity [CHAR LIMIT=60]-->
-    <string name="menu_blocked_numbers">Blocked numbers</string>
-
     <!-- The menu item to open the link/merge duplicates activity. [CHAR LIMIT=20]-->
     <string name="menu_duplicates">Duplicates</string>
 
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index 5f0dc2b..1dc7092 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -31,7 +31,6 @@
 import android.support.v7.app.ActionBarDrawerToggle;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
-import android.telecom.TelecomManager;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -41,9 +40,7 @@
 import android.view.ViewGroup;
 
 import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.common.compat.BlockedNumberContractCompat;
 import com.android.contacts.common.compat.CompatUtils;
-import com.android.contacts.common.compat.TelecomManagerUtil;
 import com.android.contacts.common.list.ContactListFilter;
 import com.android.contacts.common.list.ContactListFilterController;
 import com.android.contacts.common.preference.ContactsPreferenceActivity;
@@ -59,7 +56,6 @@
 import com.android.contacts.interactions.AccountFiltersFragment;
 import com.android.contacts.interactions.AccountFiltersFragment.AccountFiltersListener;
 import com.android.contacts.quickcontact.QuickContactActivity;
-import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.contactsbind.Assistants;
 import com.android.contactsbind.HelpUtils;
 
@@ -169,14 +165,6 @@
         final MenuItem allContacts = menu.findItem(R.id.nav_all_contacts);
         mIdMenuMap.put(R.id.nav_all_contacts, allContacts);
 
-        final boolean showBlockedNumbers = PhoneCapabilityTester.isPhone(this)
-                && ContactsUtils.FLAG_N_FEATURE
-                && BlockedNumberContractCompat.canCurrentUserBlockNumbers(this);
-
-        if (!showBlockedNumbers) {
-            menu.removeItem(R.id.nav_blocked_numbers);
-        }
-
         if (Assistants.getDuplicatesActivityIntent(this) == null) {
             menu.removeItem(R.id.nav_find_duplicates);
         } else {
@@ -440,10 +428,6 @@
                     HelpUtils.launchHelpAndFeedbackForMainScreen(ContactsDrawerActivity.this);
                 } else if (id == R.id.nav_all_contacts) {
                     switchToAllContacts();
-                } else if (id == R.id.nav_blocked_numbers) {
-                    final Intent intent = TelecomManagerUtil.createManageBlockedNumbersIntent(
-                            (TelecomManager) getSystemService(Context.TELECOM_SERVICE));
-                    startActivity(intent);
                 } else if (id == R.id.nav_find_duplicates) {
                     launchFindDuplicates();
                 } else if (item.getIntent() != null) {
