diff --git a/res/drawable/ic_feedback_24dp.xml b/res/drawable/ic_feedback_24dp.xml
deleted file mode 100644
index f616f95..0000000
--- a/res/drawable/ic_feedback_24dp.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0"
-    android:tint="?android:attr/colorAccent">
-    <path
-        android:fillColor="#FFFFFF"
-        android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52
-        22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8
-        -8,8zm3.5,-9c0.83,0 1.5,-0.67 1.5,-1.5S16.33,8 15.5,8 14,8.67 14,9.5s0.67,1.5
-        1.5,1.5zm-7,0c0.83,0 1.5,-0.67 1.5,-1.5S9.33,8 8.5,8 7,8.67 7,9.5 7.67,11
-        8.5,11zm3.5,6.5c2.33,0 4.31,-1.46 5.11,-3.5H6.89c0.8,2.04 2.78,3.5 5.11,3.5z"/>
-</vector>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5a72fcd..c61db83 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7512,12 +7512,6 @@
     <!-- Button label for visiting help forum [CHAR LIMIT=60]-->
     <string name="support_forum_title">Help forum</string>
 
-    <!-- Button label for visiting help articles [CHAR LIMIT=60]-->
-    <string name="support_articles_title">Help articles</string>
-
-    <!-- Button label for sending user feedback [CHAR LIMIT=60]-->
-    <string name="support_feedback_title">Send feedback</string>
-
     <!-- Title text that indicates user needs to sign in to get customer support. [CHAR LIMIT=80]-->
     <string name="support_sign_in_required_title">Need assistance now?</string>
 
diff --git a/src/com/android/settings/dashboard/SupportItemAdapter.java b/src/com/android/settings/dashboard/SupportItemAdapter.java
index 6f8b4f2..b528cf4 100644
--- a/src/com/android/settings/dashboard/SupportItemAdapter.java
+++ b/src/com/android/settings/dashboard/SupportItemAdapter.java
@@ -177,9 +177,8 @@
                 R.string.support_forum_title, 0 /* summary */,
                 mSupportFeatureProvider.getForumIntent()));
         mSupportData.add(new SupportData(TYPE_SUPPORT_TILE, R.drawable.ic_help_24dp,
-                R.string.support_articles_title, 0 /* summary */, null /*intent */));
-        mSupportData.add(new SupportData(TYPE_SUPPORT_TILE, R.drawable.ic_feedback_24dp,
-                R.string.support_feedback_title, 0 /* summary */, null /*intent */));
+                R.string.help_feedback_label, 0 /* summary */,
+                mSupportFeatureProvider.getHelpIntent(mActivity)));
     }
 
     private void bindSignInPromoTile(ViewHolder holder, SupportData data) {
diff --git a/src/com/android/settings/overlay/SupportFeatureProvider.java b/src/com/android/settings/overlay/SupportFeatureProvider.java
index 9c0e195..c7102db 100644
--- a/src/com/android/settings/overlay/SupportFeatureProvider.java
+++ b/src/com/android/settings/overlay/SupportFeatureProvider.java
@@ -44,6 +44,11 @@
     Intent getForumIntent();
 
     /**
+     * Returns a intent that will open help & feedback.
+     */
+    Intent getHelpIntent(Context context);
+
+    /**
      * Whether or not a support type is enabled.
      */
     boolean isSupportTypeEnabled(Context context, @SupportType int type);
