diff --git a/res/layout/managed_service_item.xml b/res/layout/managed_service_item.xml
index 67aaa61..f05c77f 100644
--- a/res/layout/managed_service_item.xml
+++ b/res/layout/managed_service_item.xml
@@ -22,7 +22,8 @@
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:orientation="horizontal"
-    android:paddingEnd="6dip"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:gravity="center_vertical"
     >
 
@@ -69,7 +70,6 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
-        android:layout_marginEnd="16dip"
         android:layout_marginStart="16dip"
         android:focusable="false"
         android:clickable="false" />
diff --git a/res/layout/managed_service_settings.xml b/res/layout/managed_service_settings.xml
index e01da59..b2fc0b2 100644
--- a/res/layout/managed_service_settings.xml
+++ b/res/layout/managed_service_settings.xml
@@ -18,19 +18,27 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
+
     <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="0px"
             android:layout_weight="1">
+
         <ListView android:id="@android:id/list"
                 android:layout_width="match_parent" 
                 android:layout_height="match_parent"
+                android:paddingStart="@dimen/settings_side_margin"
+                android:paddingEnd="@dimen/settings_side_margin"
                 android:drawSelectorOnTop="false"
-                android:fastScrollEnabled="true" />
+                android:fastScrollEnabled="true"
+                android:scrollbarStyle="outsideInset" />
+
         <TextView android:id="@android:id/empty"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:gravity="center"
                 android:textAppearance="?android:attr/textAppearanceMedium" />
+
     </FrameLayout>
+
 </LinearLayout>
diff --git a/res/layout/notification_app_list.xml b/res/layout/notification_app_list.xml
index f680e38..2eac287 100644
--- a/res/layout/notification_app_list.xml
+++ b/res/layout/notification_app_list.xml
@@ -28,7 +28,6 @@
         android:paddingEnd="@dimen/settings_side_margin"
         android:divider="#0000"
         android:dividerHeight="0px"
-        android:fastScrollAlwaysVisible="true"
         android:fastScrollEnabled="true"
         android:listSelector="#0000"
         android:scrollbarStyle="outsideInset" />
diff --git a/src/com/android/settings/notification/ManagedServiceSettings.java b/src/com/android/settings/notification/ManagedServiceSettings.java
index 880ecde..7be644e 100644
--- a/src/com/android/settings/notification/ManagedServiceSettings.java
+++ b/src/com/android/settings/notification/ManagedServiceSettings.java
@@ -60,7 +60,7 @@
     private ContentResolver mCR;
 
     private final HashSet<ComponentName> mEnabledServices = new HashSet<ComponentName>();
-    private ServiceListAdapter mList;
+    private ServiceListAdapter mListAdapter;
 
     abstract protected Config getConfig();
 
@@ -130,7 +130,7 @@
 
         mPM = getActivity().getPackageManager();
         mCR = getActivity().getContentResolver();
-        mList = new ServiceListAdapter(getActivity());
+        mListAdapter = new ServiceListAdapter(getActivity());
     }
 
     @Override
@@ -200,10 +200,10 @@
     private void updateList() {
         loadEnabledServices();
 
-        getServices(mConfig, mList, mPM);
-        mList.sort(new PackageItemInfo.DisplayNameComparator(mPM));
+        getServices(mConfig, mListAdapter, mPM);
+        mListAdapter.sort(new PackageItemInfo.DisplayNameComparator(mPM));
 
-        getListView().setAdapter(mList);
+        getListView().setAdapter(mListAdapter);
     }
 
     protected static int getEnabledServicesCount(Config config, Context context) {
@@ -255,7 +255,7 @@
 
     @Override
     public void onListItemClick(ListView l, View v, int position, long id) {
-        ServiceInfo info = mList.getItem(position);
+        ServiceInfo info = mListAdapter.getItem(position);
         final ComponentName cn = new ComponentName(info.packageName, info.name);
         if (mEnabledServices.contains(cn)) {
             // the simple version: disabling
