diff --git a/res/layout/contact_tile_frequent.xml b/res/layout/contact_tile_frequent.xml
index fc9c04c..14cb04e 100644
--- a/res/layout/contact_tile_frequent.xml
+++ b/res/layout/contact_tile_frequent.xml
@@ -52,7 +52,7 @@
             android:id="@+id/contact_tile_status"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
             android:textColor="#cccccc"
diff --git a/res/layout/contact_tile_frequent_phone.xml b/res/layout/contact_tile_frequent_phone.xml
index e0ea0fb..50c1fc2 100644
--- a/res/layout/contact_tile_frequent_phone.xml
+++ b/res/layout/contact_tile_frequent_phone.xml
@@ -47,11 +47,11 @@
             android:id="@+id/contact_tile_phone_number"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
-            android:textColor="#cccccc"
-            android:layout_marginLeft="12dip"
+            android:textColor="@color/dialtacts_secondary_text_color"
+            android:layout_marginLeft="8dip"
             android:layout_toRightOf="@id/contact_tile_quick"
             android:layout_below="@id/contact_tile_name" />
 
@@ -59,14 +59,30 @@
             android:id="@+id/contact_tile_phone_type"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
-            android:textColor="#cccccc"
+            android:textAllCaps="true"
+            android:textColor="@color/dialtacts_secondary_text_color"
             android:layout_marginLeft="12dip"
             android:layout_alignParentRight="true"
             android:layout_alignTop="@id/contact_tile_phone_number" />
 
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider"
+            android:layout_alignParentBottom="true" />
+
+        <View
+            android:id="@+id/contact_tile_horizontal_picture_divider"
+            android:layout_width="64dip"
+            android:layout_height="1dip"
+            android:background="@android:color/black"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentLeft="true" />
+
     </RelativeLayout>
 
 </view>
diff --git a/res/layout/contact_tile_starred.xml b/res/layout/contact_tile_starred.xml
index d667a34..3b74946 100644
--- a/res/layout/contact_tile_starred.xml
+++ b/res/layout/contact_tile_starred.xml
@@ -61,7 +61,7 @@
             android:layout_marginLeft="4dip"
             style="@style/ContactTileStatusText" />
 
-        <ImageButton
+       <ImageButton
             android:id="@+id/contact_tile_push_state"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res/layout/contact_tile_starred_secondary_target.xml b/res/layout/contact_tile_starred_secondary_target.xml
index 887fa5d..3558166 100644
--- a/res/layout/contact_tile_starred_secondary_target.xml
+++ b/res/layout/contact_tile_starred_secondary_target.xml
@@ -61,14 +61,14 @@
         </FrameLayout>
 
         <View
-            android:id="@+id/vertical_divider"
+            android:id="@+id/secondary_vertical_divider"
             android:layout_width="1dip"
-            android:layout_height="24dip"
+            android:layout_height="32dip"
             android:layout_alignParentBottom="true"
             android:layout_alignParentRight="true"
-            android:layout_marginBottom="12dip"
             android:layout_marginRight="44dip"
-            android:background="?android:attr/dividerVertical" />
+            android:layout_marginBottom="8dip"
+            android:background="@drawable/ic_divider_dashed_holo_dark" />
 
         <ImageButton
             android:id="@+id/contact_tile_push_state"
@@ -78,14 +78,28 @@
 
         <ImageButton
             android:id="@+id/contact_tile_secondary_button"
-            android:src="@drawable/ic_tab_unselected_contacts"
+            android:src="@drawable/ic_contacts_holo_dark"
             android:background="?android:attr/selectableItemBackground"
             android:layout_height="@dimen/contact_tile_shadowbox_height"
-            android:layout_width="32dip"
+            android:layout_width="48dip"
             android:layout_alignParentBottom="true"
             android:layout_alignParentRight="true"
-            android:layout_marginLeft="8dip"
-            android:layout_marginRight="8dip" />
+            android:paddingRight="8dip"
+            android:paddingLeft="8dip" />
+
+        <View
+            android:id="@+id/contact_tile_vertical_divider"
+            android:layout_height="match_parent"
+            android:layout_width="2dip"
+            android:background="@color/phone_contact_tile_divider_color"
+            android:layout_alignParentRight="true" />
+
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="2dip"
+            android:background="@color/phone_contact_tile_divider_color"
+            android:layout_alignParentBottom="true" />
 
     </RelativeLayout>
 
diff --git a/res/layout/list_separator.xml b/res/layout/list_separator.xml
index af83584..7d57ef7 100644
--- a/res/layout/list_separator.xml
+++ b/res/layout/list_separator.xml
@@ -15,8 +15,30 @@
 -->
 
 <!-- Layout used for list separators. -->
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="?android:attr/listSeparatorTextViewStyle"
-    android:gravity="left|center_vertical"
-    android:id="@+id/header_text"
-/>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:orientation="vertical"
+    android:layout_height="32dip"
+    android:divider="?android:attr/dividerVertical"
+    android:paddingLeft="16dip"
+    android:paddingRight="16dip">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="8dip"
+            android:paddingLeft="8dip"
+            android:textStyle="bold"
+            android:textAllCaps="true"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="@color/people_app_theme_color"
+            android:gravity="left|center_vertical"
+            android:id="@+id/header_text" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1dip"
+            android:background="@color/people_app_theme_color" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
index a9d745f..5d8643c 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -101,4 +101,8 @@
 
     <!-- Color of the text for buttons in the action bar  -->
     <color name="action_bar_button_text_color">#FFFFFF</color>
+
+    <!-- Color of the vertical and horizontal dividers for starred contacts in the Phone app -->
+    <color name="phone_contact_tile_divider_color">#D8000000</color>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b25f0af..cafb63c 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -279,8 +279,6 @@
 
     <style name="ContactTileStarred">
         <item name="android:focusable">true</item>
-        <item name="android:padding">1px</item>
-        <item name="android:background">@drawable/list_selector</item>
     </style>
 
     <style name="ContactTileStarredName">
diff --git a/src/com/android/contacts/list/ContactTileAdapter.java b/src/com/android/contacts/list/ContactTileAdapter.java
index 0d4eb8c..cc0a184 100644
--- a/src/com/android/contacts/list/ContactTileAdapter.java
+++ b/src/com/android/contacts/list/ContactTileAdapter.java
@@ -341,6 +341,7 @@
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         int itemViewType = getItemViewType(position);
+
         if (itemViewType == ViewTypes.DIVIDER) {
             // Checking For Divider First so not to cast convertView
             return convertView == null ? getDivider() : convertView;
@@ -353,7 +354,7 @@
             // Creating new row if needed
             contactTileRowView = new ContactTileRow(mContext, itemViewType);
         }
-        contactTileRowView.configureRow(contactList);
+        contactTileRowView.configureRow(contactList, position == getCount() - 1);
         return contactTileRowView;
     }
 
@@ -455,21 +456,21 @@
         /**
          * Configures the row to add {@link ContactEntry}s information to the views
          */
-        public void configureRow(ArrayList<ContactEntry> list) {
+        public void configureRow(ArrayList<ContactEntry> list, boolean isLastRow) {
             int columnCount = mItemViewType == ViewTypes.FREQUENT ? 1 : mColumnCount;
 
             // Adding tiles to row and filling in contact information
             for (int columnCounter = 0; columnCounter < columnCount; columnCounter++) {
                 ContactEntry entry =
                         columnCounter < list.size() ? list.get(columnCounter) : null;
-                addTileFromEntry(entry, columnCounter);
+                addTileFromEntry(entry, columnCounter, isLastRow);
             }
         }
 
-        private void addTileFromEntry(ContactEntry entry, int tileIndex) {
+        private void addTileFromEntry(ContactEntry entry, int childIndex, boolean isLastRow) {
             final ContactTileView contactTile;
 
-            if (getChildCount() <= tileIndex) {
+            if (getChildCount() <= childIndex) {
                 contactTile = (ContactTileView) inflate(mContext, mLayoutResId, null);
                 contactTile.setLayoutParams(new LinearLayout.LayoutParams(0,
                         LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f));
@@ -477,10 +478,15 @@
                 contactTile.setListener(mContactTileListener);
                 addView(contactTile);
             } else {
-                contactTile = (ContactTileView) getChildAt(tileIndex);
+                contactTile = (ContactTileView) getChildAt(childIndex);
             }
             contactTile.setClickable(entry != null);
             contactTile.loadFromContact(entry);
+
+            contactTile.setVerticalDividerVisibility(
+                    childIndex >= mColumnCount - 1 ? View.GONE : View.VISIBLE);
+            contactTile.setHorizontalDividerVisibility(
+                    isLastRow ? View.GONE : View.VISIBLE);
         }
     }
 
diff --git a/src/com/android/contacts/list/ContactTileView.java b/src/com/android/contacts/list/ContactTileView.java
index 4dfa876..ef9c2fb 100644
--- a/src/com/android/contacts/list/ContactTileView.java
+++ b/src/com/android/contacts/list/ContactTileView.java
@@ -49,6 +49,8 @@
     private ContactPhotoManager mPhotoManager = null;
     private ImageButton mPushState;
     private Listener mListener;
+    private View mVerticalDivider;
+    private View mHorizontalDivider;
 
     public ContactTileView(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -66,6 +68,8 @@
         mPhoneLabel = (TextView) findViewById(R.id.contact_tile_phone_type);
         mPhoneNumber = (TextView) findViewById(R.id.contact_tile_phone_number);
         mPushState = (ImageButton) findViewById(R.id.contact_tile_push_state);
+        mVerticalDivider = findViewById(R.id.contact_tile_vertical_divider);
+        mHorizontalDivider = findViewById(R.id.contact_tile_horizontal_divider);
 
         OnClickListener listener = new OnClickListener() {
             @Override
@@ -148,6 +152,14 @@
         }
     }
 
+    public void setVerticalDividerVisibility(int visibility) {
+        if (mVerticalDivider != null) mVerticalDivider.setVisibility(visibility);
+    }
+
+    public void setHorizontalDividerVisibility(int visibility) {
+        if (mHorizontalDivider != null) mHorizontalDivider.setVisibility(visibility);
+    }
+
     public void setListener(Listener listener) {
         mListener = listener;
     }
