diff --git a/res/drawable-hdpi/photo_frame_widget_holo_light.9.png b/res/drawable-hdpi/photo_frame_widget_holo_light.9.png
index bb7fe92..c4435b3 100644
--- a/res/drawable-hdpi/photo_frame_widget_holo_light.9.png
+++ b/res/drawable-hdpi/photo_frame_widget_holo_light.9.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_action_email.png b/res/drawable-hdpi/sym_action_email.png
deleted file mode 100644
index edd7a7d..0000000
--- a/res/drawable-hdpi/sym_action_email.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/sym_action_email_holo_light.png b/res/drawable-hdpi/sym_action_email_holo_light.png
new file mode 100644
index 0000000..166eda4
--- /dev/null
+++ b/res/drawable-hdpi/sym_action_email_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_action_goto_website_holo_light.png b/res/drawable-hdpi/sym_action_goto_website_holo_light.png
new file mode 100644
index 0000000..39bb2f3
--- /dev/null
+++ b/res/drawable-hdpi/sym_action_goto_website_holo_light.png
Binary files differ
diff --git a/res/drawable-hdpi/sym_action_map.png b/res/drawable-hdpi/sym_action_map.png
deleted file mode 100644
index 8dd61dc..0000000
--- a/res/drawable-hdpi/sym_action_map.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/sym_action_show_map_holo_light.png b/res/drawable-hdpi/sym_action_show_map_holo_light.png
new file mode 100644
index 0000000..5ce0c64
--- /dev/null
+++ b/res/drawable-hdpi/sym_action_show_map_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/photo_frame_widget_holo_light.9.png b/res/drawable-mdpi/photo_frame_widget_holo_light.9.png
index 021a7b3..3c58bd2 100644
--- a/res/drawable-mdpi/photo_frame_widget_holo_light.9.png
+++ b/res/drawable-mdpi/photo_frame_widget_holo_light.9.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_action_email.png b/res/drawable-mdpi/sym_action_email.png
deleted file mode 100644
index caf2c65..0000000
--- a/res/drawable-mdpi/sym_action_email.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/sym_action_email_holo_light.png b/res/drawable-mdpi/sym_action_email_holo_light.png
new file mode 100644
index 0000000..f071376
--- /dev/null
+++ b/res/drawable-mdpi/sym_action_email_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_action_goto_website_holo_light.png b/res/drawable-mdpi/sym_action_goto_website_holo_light.png
new file mode 100644
index 0000000..8b7c458
--- /dev/null
+++ b/res/drawable-mdpi/sym_action_goto_website_holo_light.png
Binary files differ
diff --git a/res/drawable-mdpi/sym_action_map.png b/res/drawable-mdpi/sym_action_map.png
deleted file mode 100644
index f34b2f5..0000000
--- a/res/drawable-mdpi/sym_action_map.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/sym_action_show_map_holo_light.png b/res/drawable-mdpi/sym_action_show_map_holo_light.png
new file mode 100644
index 0000000..805bda1
--- /dev/null
+++ b/res/drawable-mdpi/sym_action_show_map_holo_light.png
Binary files differ
diff --git a/res/layout/social_widget.xml b/res/layout/social_widget.xml
index 0e723ef..eaed31e 100644
--- a/res/layout/social_widget.xml
+++ b/res/layout/social_widget.xml
@@ -20,11 +20,21 @@
     android:layout_height="fill_parent"
     android:background="#00000000"
 >
-    <ImageView
-        android:id="@+id/image"
-        android:background="@drawable/photo_frame_widget_holo_light"
+    <FrameLayout
         android:layout_width="96dip"
-        android:layout_height="96dip" />
+        android:layout_height="96dip">
+        <ImageView
+            android:id="@+id/image"
+            android:padding="10dip"
+            android:focusable="false"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+        <ImageView
+            android:id="@+id/border"
+            android:background="@drawable/photo_frame_widget_holo_light"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
+    </FrameLayout>
     <LinearLayout
         android:layout_width="0dip"
         android:layout_height="90dip"
diff --git a/src/com/android/contacts/model/FallbackAccountType.java b/src/com/android/contacts/model/FallbackAccountType.java
index 601e77e..e30ad89 100644
--- a/src/com/android/contacts/model/FallbackAccountType.java
+++ b/src/com/android/contacts/model/FallbackAccountType.java
@@ -245,7 +245,7 @@
         DataKind kind = getKindForMimetype(Email.CONTENT_ITEM_TYPE);
         if (kind == null) {
             kind = addKind(new DataKind(Email.CONTENT_ITEM_TYPE,
-                    R.string.emailLabelsGroup, R.drawable.sym_action_email, 15, true));
+                    R.string.emailLabelsGroup, R.drawable.sym_action_email_holo_light, 15, true));
             kind.actionHeader = new EmailActionInflater();
             kind.actionBody = new SimpleInflater(Email.DATA);
         }
@@ -271,7 +271,8 @@
         DataKind kind = getKindForMimetype(StructuredPostal.CONTENT_ITEM_TYPE);
         if (kind == null) {
             kind = addKind(new DataKind(StructuredPostal.CONTENT_ITEM_TYPE,
-                    R.string.postalLabelsGroup, R.drawable.sym_action_map, 25, true));
+                    R.string.postalLabelsGroup, R.drawable.sym_action_show_map_holo_light, 25,
+                    true));
             kind.actionHeader = new PostalActionInflater();
             kind.actionBody = new SimpleInflater(StructuredPostal.FORMATTED_ADDRESS);
         }
@@ -388,7 +389,8 @@
         DataKind kind = getKindForMimetype(Website.CONTENT_ITEM_TYPE);
         if (kind == null) {
             kind = addKind(new DataKind(Website.CONTENT_ITEM_TYPE,
-                    R.string.websiteLabelsGroup, -1, 120, true));
+                    R.string.websiteLabelsGroup, R.drawable.sym_action_goto_website_holo_light, 120,
+                    true));
             kind.actionHeader = new SimpleInflater(R.string.websiteLabelsGroup);
             kind.actionBody = new SimpleInflater(Website.URL);
         }
@@ -398,7 +400,8 @@
             kind.defaultValues.put(Website.TYPE, Website.TYPE_OTHER);
 
             kind.fieldList = Lists.newArrayList();
-            kind.fieldList.add(new EditField(Website.URL, R.string.websiteLabelsGroup, FLAGS_WEBSITE));
+            kind.fieldList.add(new EditField(Website.URL, R.string.websiteLabelsGroup,
+                    FLAGS_WEBSITE));
         }
 
         return kind;
diff --git a/src/com/android/contacts/socialwidget/SocialWidgetProvider.java b/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
index c36af18..1695849 100644
--- a/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
+++ b/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
@@ -122,7 +122,7 @@
 
                             final PendingIntent pendingIntent = PendingIntent.getActivity(context,
                                     0, intent, 0);
-                            views.setOnClickPendingIntent(R.id.image, pendingIntent);
+                            views.setOnClickPendingIntent(R.id.border, pendingIntent);
 
                             // Configure Ui
                             widgetManager.updateAppWidget(widgetId, views);
