diff --git a/res/drawable-hdpi/ic_print.png b/res/drawable-hdpi/ic_print.png
deleted file mode 100644
index aaff3dd..0000000
--- a/res/drawable-hdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_print.png b/res/drawable-mdpi/ic_print.png
deleted file mode 100644
index a3954b5..0000000
--- a/res/drawable-mdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_print.png b/res/drawable-xhdpi/ic_print.png
deleted file mode 100644
index 6b55a14..0000000
--- a/res/drawable-xhdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml
index 55b3bca..8744328 100644
--- a/res/xml/settings_headers.xml
+++ b/res/xml/settings_headers.xml
@@ -192,7 +192,7 @@
     <header
         android:id="@+id/print_settings"
         android:fragment="com.android.settings.print.PrintSettingsFragment"
-        android:icon="@drawable/ic_print"
+        android:icon="@*android:drawable/ic_print"
         android:title="@string/print_settings" />
 
     <!-- Development -->
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index d254842..49f0e65 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -65,6 +65,9 @@
     static final String EXTRA_ADD_PRINTERS_COMPONENT_NAME = "add_printers_component_name";
     static final String EXTRA_SERVICE_COMPONENT_NAME = "service_component_name";
 
+    private static final String EXTRA_PRINT_SERVICE_COMPONENT_NAME =
+            "EXTRA_PRINT_SERVICE_COMPONENT_NAME";
+
     private final PackageMonitor mSettingsPackageMonitor = new SettingsPackageMonitor();
 
     private final Handler mHandler = new Handler() {
@@ -97,6 +100,7 @@
         mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
         mSettingsContentObserver.register(getContentResolver());
         updateServicesPreferences();
+        startPrintServiceSettingsIfNeeded();
         setHasOptionsMenu(true);
     }
 
@@ -213,6 +217,20 @@
         }
     }
 
+    private void startPrintServiceSettingsIfNeeded() {
+        if (getArguments() == null) {
+            return;
+        }
+        String componentName = getArguments().getString(EXTRA_PRINT_SERVICE_COMPONENT_NAME);
+        if (componentName != null) {
+            getArguments().remove(EXTRA_PRINT_SERVICE_COMPONENT_NAME);
+            Preference prereference = findPreference(componentName);
+            if (prereference != null) {
+                prereference.performClick(getPreferenceScreen());
+            }
+        }
+    }
+
     private class SettingsPackageMonitor extends PackageMonitor {
         @Override
         public void onPackageAdded(String packageName, int uid) {
