diff --git a/res/drawable/preference_list_fragment_background.xml b/res/drawable/preference_background.xml
similarity index 91%
rename from res/drawable/preference_list_fragment_background.xml
rename to res/drawable/preference_background.xml
index 94e0381..f47bcf5 100644
--- a/res/drawable/preference_list_fragment_background.xml
+++ b/res/drawable/preference_background.xml
@@ -21,9 +21,7 @@
         android:insetBottom="0dip">
 
     <shape android:shape="rectangle">
-
-        <solid android:color="@color/preference_list_fragment_background_color" />
-
+        <solid android:color="@color/preference_background_color" />
     </shape>
 
 </inset>
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index a97415e..8391641 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -36,8 +36,6 @@
               android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle"
               android:clipToPadding="false"
               android:drawSelectorOnTop="false"
-              android:cacheColorHint="@android:color/white"
-              android:background="@drawable/preference_list_fragment_background"
               android:elevation="@dimen/dashboard_category_elevation"
               android:scrollbarAlwaysDrawVerticalTrack="true" />
 
@@ -82,6 +80,8 @@
                     android:text="@*android:string/next_button_label"
                     />
         </LinearLayout>
+
     </RelativeLayout>
+
 </LinearLayout>
 
diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml
new file mode 100644
index 0000000..56f2737
--- /dev/null
+++ b/res/layout/settings_main_dashboard.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2014, 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.
+*/
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+             android:id="@+id/main_content"
+             android:layout_height="match_parent"
+             android:layout_width="match_parent"
+             android:background="@color/dashboard_background_color"
+             />
diff --git a/res/layout/settings_main.xml b/res/layout/settings_main_prefs.xml
similarity index 94%
rename from res/layout/settings_main.xml
rename to res/layout/settings_main_prefs.xml
index 56737a1..53fd918 100644
--- a/res/layout/settings_main.xml
+++ b/res/layout/settings_main_prefs.xml
@@ -20,8 +20,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:orientation="vertical"
               android:layout_height="match_parent"
-              android:layout_width="match_parent"
-              android:background="?attr/dashboardBackgroundColor">
+              android:layout_width="match_parent">
 
     <LinearLayout
             android:orientation="vertical"
@@ -37,9 +36,10 @@
                 />
 
         <FrameLayout
-                android:id="@+id/prefs"
+                android:id="@+id/main_content"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
+                android:background="?attr/preferenceBackgroundColor"
                 />
 
     </LinearLayout>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 71e08d8..2987de1 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -101,5 +101,5 @@
     <attr name="switchBarMarginStart" format="dimension" />
     <attr name="switchBarMarginEnd" format="dimension" />
 
-    <attr name="dashboardBackgroundColor" format="color" />
+    <attr name="preferenceBackgroundColor" format="color" />
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 0b3ea39..e34097b 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -60,6 +60,6 @@
     <color name="switch_accent_color">#ff7fcac3</color>
 
     <color name="default_preference_background_color">@android:color/white</color>
-    <color name="preference_list_fragment_background_color">@color/default_preference_background_color</color>
+    <color name="preference_background_color">@color/default_preference_background_color</color>
     <color name="search_panel_list_background_color">@color/default_preference_background_color</color>
 </resources>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 92bb3b2..4f8add7 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -33,7 +33,7 @@
         <item name="ic_wps">@drawable/ic_wps_dark</item>
         <item name="setup_divider_color">@color/setup_divider_color_dark</item>
         <item name="wifi_signal">@drawable/wifi_signal_dark</item>
-        <item name="dashboardBackgroundColor">@color/dashboard_background_color</item>
+        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
     </style>
 
     <style name="SetupWizardWifiTheme.Light" parent="android:Theme.Material.Light.NoActionBar">
@@ -48,7 +48,7 @@
         <item name="ic_wps">@drawable/ic_wps_light</item>
         <item name="setup_divider_color">@color/setup_divider_color_light</item>
         <item name="wifi_signal">@drawable/wifi_signal_light</item>
-        <item name="dashboardBackgroundColor">@color/dashboard_background_color</item>
+        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
     </style>
 
     <style name="Theme.WifiDialog" parent="@*android:style/Theme.Material.Dialog.Alert">
@@ -92,7 +92,7 @@
 
         <item name="switchBarTheme">@style/Theme.SwitchBar.Settings</item>
 
-        <item name="dashboardBackgroundColor">@color/dashboard_background_color</item>
+        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
 
         <!-- Redefine the ActionBar style for contentInsetStart -->
         <item name="android:actionBarStyle">@style/Theme.ActionBar</item>
@@ -142,7 +142,7 @@
         <!-- Redefine the ActionBar style for contentInsetStart -->
         <item name="android:actionBarStyle">@style/Theme.ActionBar</item>
 
-        <item name="dashboardBackgroundColor">@color/dashboard_background_color</item>
+        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
     </style>
 
     <style name="Theme.CryptKeeper" parent="@android:style/Theme.Material.Light.NoActionBar">
@@ -156,7 +156,7 @@
         <item name="android:actionBarWidgetTheme">@null</item>
         <item name="android:actionBarTheme">@android:style/ThemeOverlay.Material.Dark.ActionBar</item>
 
-        <item name="dashboardBackgroundColor">@color/dashboard_background_color</item>
+        <item name="preferenceBackgroundColor">@drawable/preference_background</item>
     </style>
 
     <style name="Theme.AlertDialog" parent="@*android:style/Theme.Material.Light.Dialog.Alert">
@@ -177,7 +177,7 @@
         <item name="switchBarMarginStart">0dip</item>
         <item name="switchBarMarginEnd">0dip</item>
 
-        <item name="dashboardBackgroundColor">@android:color/transparent</item>
+        <item name="preferenceBackgroundColor">@android:color/transparent</item>
     </style>
 
 </resources>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 290473e..a0f43fb 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -489,9 +489,10 @@
             setTheme(R.style.Theme_SubSettings);
         }
 
-        setContentView(R.layout.settings_main);
+        setContentView(mIsShowingDashboard ?
+                R.layout.settings_main_dashboard : R.layout.settings_main_prefs);
 
-        mContent = (ViewGroup) findViewById(R.id.prefs);
+        mContent = (ViewGroup) findViewById(R.id.main_content);
 
         getFragmentManager().addOnBackStackChangedListener(this);
 
@@ -830,7 +831,7 @@
      */
     public void startPreferenceFragment(Fragment fragment, boolean push) {
         FragmentTransaction transaction = getFragmentManager().beginTransaction();
-        transaction.replace(R.id.prefs, fragment);
+        transaction.replace(R.id.main_content, fragment);
         if (push) {
             transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
             transaction.addToBackStack(BACK_STACK_PREFS);
@@ -851,7 +852,7 @@
         }
         Fragment f = Fragment.instantiate(this, fragmentName, args);
         FragmentTransaction transaction = getFragmentManager().beginTransaction();
-        transaction.replace(R.id.prefs, f);
+        transaction.replace(R.id.main_content, f);
         if (withTransition) {
             TransitionManager.beginDelayedTransition(mContent);
         }
@@ -1239,7 +1240,7 @@
         if (mSearchResultsFragment != null) {
             return;
         }
-        Fragment current = getFragmentManager().findFragmentById(R.id.prefs);
+        Fragment current = getFragmentManager().findFragmentById(R.id.main_content);
         if (current != null && current instanceof SearchResultsSummary) {
             mSearchResultsFragment = (SearchResultsSummary) current;
         } else {
