diff --git a/res/drawable-hdpi-finger/divider_dark_opaque.9.png b/res/drawable-hdpi-finger/divider_dark_opaque.9.png
new file mode 100644
index 0000000..9444f0d
--- /dev/null
+++ b/res/drawable-hdpi-finger/divider_dark_opaque.9.png
Binary files differ
diff --git a/res/drawable-hdpi-finger/divider_vertical_dark.9.png b/res/drawable-hdpi-finger/divider_vertical_dark.9.png
index 30a68d0..702b878 100644
--- a/res/drawable-hdpi-finger/divider_vertical_dark.9.png
+++ b/res/drawable-hdpi-finger/divider_vertical_dark.9.png
Binary files differ
diff --git a/res/drawable-hdpi-finger/ic_menu_split.png b/res/drawable-hdpi-finger/ic_menu_split.png
new file mode 100644
index 0000000..33ef601
--- /dev/null
+++ b/res/drawable-hdpi-finger/ic_menu_split.png
Binary files differ
diff --git a/res/drawable-hdpi-finger/infobar_dark.9.png b/res/drawable-hdpi-finger/infobar_dark.9.png
new file mode 100644
index 0000000..be0085a
--- /dev/null
+++ b/res/drawable-hdpi-finger/infobar_dark.9.png
Binary files differ
diff --git a/res/drawable-hdpi-finger/section_dark.9.png b/res/drawable-hdpi-finger/section_dark.9.png
new file mode 100644
index 0000000..5a865fa
--- /dev/null
+++ b/res/drawable-hdpi-finger/section_dark.9.png
Binary files differ
diff --git a/res/drawable-mdpi-finger/divider_dark_opaque.9.png b/res/drawable-mdpi-finger/divider_dark_opaque.9.png
new file mode 100644
index 0000000..9444f0d
--- /dev/null
+++ b/res/drawable-mdpi-finger/divider_dark_opaque.9.png
Binary files differ
diff --git a/res/drawable-mdpi-finger/divider_vertical_dark.9.png b/res/drawable-mdpi-finger/divider_vertical_dark.9.png
index 30a68d0..702b878 100644
--- a/res/drawable-mdpi-finger/divider_vertical_dark.9.png
+++ b/res/drawable-mdpi-finger/divider_vertical_dark.9.png
Binary files differ
diff --git a/res/drawable-mdpi-finger/ic_menu_split.png b/res/drawable-mdpi-finger/ic_menu_split.png
new file mode 100644
index 0000000..9d69e4c
--- /dev/null
+++ b/res/drawable-mdpi-finger/ic_menu_split.png
Binary files differ
diff --git a/res/drawable-mdpi-finger/infobar_dark.9.png b/res/drawable-mdpi-finger/infobar_dark.9.png
new file mode 100644
index 0000000..a3f3b01
--- /dev/null
+++ b/res/drawable-mdpi-finger/infobar_dark.9.png
Binary files differ
diff --git a/res/drawable-mdpi-finger/section_dark.9.png b/res/drawable-mdpi-finger/section_dark.9.png
new file mode 100644
index 0000000..dbf6ded
--- /dev/null
+++ b/res/drawable-mdpi-finger/section_dark.9.png
Binary files differ
diff --git a/res/layout-finger/contacts_list_item.xml b/res/layout-finger/contacts_list_item.xml
index 775e163..74f5bdd 100644
--- a/res/layout-finger/contacts_list_item.xml
+++ b/res/layout-finger/contacts_list_item.xml
@@ -24,7 +24,7 @@
 >
     <include
         android:id="@+id/header"
-        layout="@layout/list_separator"
+        layout="@layout/list_section"
     />
 
     <RelativeLayout
diff --git a/res/layout-finger/contacts_list_item_photo.xml b/res/layout-finger/contacts_list_item_photo.xml
index f387502..bd3baf8 100644
--- a/res/layout-finger/contacts_list_item_photo.xml
+++ b/res/layout-finger/contacts_list_item_photo.xml
@@ -24,7 +24,7 @@
 >
     <include
         android:id="@+id/header"
-        layout="@layout/list_separator"
+        layout="@layout/list_section"
     />
 
     <RelativeLayout
@@ -140,6 +140,6 @@
     <View android:id="@+id/list_divider"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
-        android:background="@*android:drawable/divider_horizontal_dark_opaque"
+        android:background="@drawable/divider_dark_opaque"
     />
 </LinearLayout>
diff --git a/res/layout-finger/list_section.xml b/res/layout-finger/list_section.xml
new file mode 100644
index 0000000..b91d213
--- /dev/null
+++ b/res/layout-finger/list_section.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- Layout used for list section separators. -->
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="25dip"
+    android:background="@drawable/section_dark"
+    >
+    <TextView
+        android:id="@+id/header_text"
+        android:layout_width="56dip"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_alignParentLeft="true"
+        android:textStyle="bold"
+        android:textColor="#ffbfbfbf"
+        android:textSize="14sp"
+        android:gravity="center"
+    />
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dip"
+        android:layout_alignParentBottom="true"
+        android:background="@drawable/divider_dark_opaque"
+    />
+</RelativeLayout>
diff --git a/res/layout-finger/total_contacts.xml b/res/layout-finger/total_contacts.xml
index ab15ce1..12badb6 100644
--- a/res/layout-finger/total_contacts.xml
+++ b/res/layout-finger/total_contacts.xml
@@ -17,12 +17,11 @@
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/totalContactsText"
     android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    style="?android:attr/listSeparatorTextViewStyle"
-    android:textColor="@*android:color/dim_foreground_dark"
-    android:textSize="12sp"
+    android:layout_height="25dip"
+    android:textColor="#ffbfbfbf"
+    android:textSize="14sp"
     android:textStyle="normal"
-    android:background="@drawable/section_dark"
+    android:background="@drawable/infobar_dark"
     android:paddingLeft="7dp"
-    android:gravity="center|center_vertical"
+    android:gravity="center"
 />
\ No newline at end of file
diff --git a/res/menu/edit.xml b/res/menu/edit.xml
index 5ecc652..6fafbcf 100644
--- a/res/menu/edit.xml
+++ b/res/menu/edit.xml
@@ -39,7 +39,7 @@
 
     <item
         android:id="@+id/menu_split"
-        android:icon="@drawable/ic_menu_merge"
+        android:icon="@drawable/ic_menu_split"
         android:title="@string/menu_splitAggregate" />
 
     <item
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 5d3f619..a0dcd6f 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -1987,7 +1987,8 @@
     }
 
     final static class ContactListItemCache {
-        public TextView header;
+        public View header;
+        public TextView headerText;
         public View divider;
         public TextView nameView;
         public View callView;
@@ -2291,7 +2292,8 @@
             final View view = super.newView(context, cursor, parent);
 
             final ContactListItemCache cache = new ContactListItemCache();
-            cache.header = (TextView) view.findViewById(R.id.header);
+            cache.header = view.findViewById(R.id.header);
+            cache.headerText = (TextView)view.findViewById(R.id.header_text);
             cache.divider = view.findViewById(R.id.list_divider);
             cache.nameView = (TextView) view.findViewById(R.id.name);
             cache.callView = view.findViewById(R.id.call_view);
@@ -2490,8 +2492,13 @@
             } else {
                 final int section = getSectionForPosition(position);
                 if (getPositionForSection(section) == position) {
-                    cache.header.setText(mIndexer.getSections()[section].toString());
-                    cache.header.setVisibility(View.VISIBLE);
+                    String title = mIndexer.getSections()[section].toString().trim();
+                    if (!TextUtils.isEmpty(title)) {
+                        cache.headerText.setText(title);
+                        cache.header.setVisibility(View.VISIBLE);
+                    } else {
+                        cache.header.setVisibility(View.GONE);
+                    }
                 } else {
                     cache.header.setVisibility(View.GONE);
                 }
