diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index c174599..702472c 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -402,7 +402,7 @@
 
       @Override
       public int getDrawableId() {
-        return R.drawable.context_menu_contact_icon;
+        return R.drawable.quantum_ic_star_vd_theme_24;
       }
 
       @Override
diff --git a/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java b/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
index e8892c4..0a2a241 100644
--- a/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
+++ b/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
@@ -130,11 +130,8 @@
   private ImmutableList<SpeedDialUiItem> removeSpeedDialUiItemInternal(
       SpeedDialUiItem speedDialUiItem) {
     Assert.isWorkerThread();
-    if (speedDialUiItem.isStarred()) {
-      removeStarredSpeedDialUiItem(speedDialUiItem);
-    } else {
-      removeSuggestedSpeedDialUiItem(speedDialUiItem);
-    }
+    Assert.checkArgument(speedDialUiItem.isStarred());
+    removeStarredSpeedDialUiItem(speedDialUiItem);
     return loadSpeedDialUiItemsInternal();
   }
 
@@ -175,19 +172,12 @@
     appContext
         .getContentResolver()
         .update(
-            Phone.CONTENT_URI,
+            Contacts.CONTENT_URI,
             contentValues,
-            Phone.CONTACT_ID + " = ?",
+            Contacts._ID + " = ?",
             new String[] {Long.toString(speedDialUiItem.contactId())});
   }
 
-  @WorkerThread
-  @SuppressWarnings("unused")
-  private void removeSuggestedSpeedDialUiItem(SpeedDialUiItem speedDialUiItem) {
-    Assert.isWorkerThread();
-    // TODO(calderwoodra): remove strequent contact
-  }
-
   /**
    * Takes a contact uri from {@link Phone#CONTENT_URI} and updates {@link Phone#STARRED} to be
    * true, if it isn't already or Inserts the contact into the {@link SpeedDialEntryDatabaseHelper}
diff --git a/java/com/android/dialer/speeddial/res/values/strings.xml b/java/com/android/dialer/speeddial/res/values/strings.xml
index 028f6a9..d2f5371 100644
--- a/java/com/android/dialer/speeddial/res/values/strings.xml
+++ b/java/com/android/dialer/speeddial/res/values/strings.xml
@@ -57,5 +57,5 @@
   <string name="contact_menu_contact_info">Contact info</string>
 
   <!-- Text shown to the user in a button to prompt them to mark a contact as a favorite contact [CHAR LIMIT=30]. -->
-  <string name="suggested_contact_bottom_sheet_add_favorite_option">Add to favorites</string>
+  <string name="suggested_contact_bottom_sheet_add_favorite_option">Add favorite</string>
 </resources>
\ No newline at end of file
