diff --git a/res/drawable-hdpi/edit_focused.png b/res/drawable-hdpi/edit_focused.png
deleted file mode 100644
index f2386dc..0000000
--- a/res/drawable-hdpi/edit_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/edit_normal.png b/res/drawable-hdpi/edit_normal.png
deleted file mode 100644
index f33f841..0000000
--- a/res/drawable-hdpi/edit_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/edit_pressed.png b/res/drawable-hdpi/edit_pressed.png
deleted file mode 100644
index e66927c..0000000
--- a/res/drawable-hdpi/edit_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_focused.png b/res/drawable-mdpi/edit_focused.png
deleted file mode 100644
index cf65d88..0000000
--- a/res/drawable-mdpi/edit_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_normal.png b/res/drawable-mdpi/edit_normal.png
deleted file mode 100644
index 4e66379..0000000
--- a/res/drawable-mdpi/edit_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/edit_pressed.png b/res/drawable-mdpi/edit_pressed.png
deleted file mode 100644
index 537795d..0000000
--- a/res/drawable-mdpi/edit_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/edit.xml b/res/drawable/edit.xml
deleted file mode 100644
index 12bd067..0000000
--- a/res/drawable/edit.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_pressed="true"
-          android:drawable="@drawable/edit_pressed" />
-    <item android:state_focused="true"
-          android:drawable="@drawable/edit_focused" />
-    <item android:drawable="@drawable/edit_normal" />
-</selector>
\ No newline at end of file
diff --git a/res/layout/contact_detail_header_view.xml b/res/layout/contact_detail_header_view.xml
index 3e47d51..c201bf4 100644
--- a/res/layout/contact_detail_header_view.xml
+++ b/res/layout/contact_detail_header_view.xml
@@ -88,17 +88,6 @@
         android:visibility="gone"
     />
 
-    <ImageButton
-        android:id="@+id/edit"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:visibility="visible"
-        android:contentDescription="@string/description_edit"
-        android:src="@drawable/edit"
-        android:paddingRight="15dip"
-        android:background="#0000" />
-
     <CheckBox
         android:id="@+id/star"
         android:layout_width="wrap_content"
diff --git a/src/com/android/contacts/views/detail/ContactDetailFragment.java b/src/com/android/contacts/views/detail/ContactDetailFragment.java
index d5d11f1..3802e77 100644
--- a/src/com/android/contacts/views/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/views/detail/ContactDetailFragment.java
@@ -1057,13 +1057,11 @@
 
     private ContactDetailHeaderView.Listener mHeaderViewListener =
             new ContactDetailHeaderView.Listener() {
+        @Override
         public void onDisplayNameClick(View view) {
         }
 
-        public void onEditClicked() {
-            if (mListener != null) mListener.onEditRequested(mLookupUri);
-        }
-
+        @Override
         public void onPhotoClick(View view) {
         }
     };
diff --git a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
index 85afd2d..00203da 100644
--- a/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
+++ b/src/com/android/contacts/views/detail/ContactDetailHeaderView.java
@@ -19,7 +19,6 @@
 import com.android.contacts.R;
 import com.android.contacts.views.ContactLoader;
 
-import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Entity;
@@ -65,7 +64,6 @@
     private ImageView mPresenceView;
     private TextView mStatusView;
     private TextView mStatusAttributionView;
-    private ImageButton mEditButton;
 
     private Uri mContactUri;
     private Listener mListener;
@@ -76,7 +74,6 @@
     public interface Listener {
         public void onPhotoClick(View view);
         public void onDisplayNameClick(View view);
-        public void onEditClicked();
     }
 
     public ContactDetailHeaderView(Context context) {
@@ -101,9 +98,6 @@
         mStarredView = (CheckBox)findViewById(R.id.star);
         mStarredView.setOnClickListener(this);
 
-        mEditButton = (ImageButton) findViewById(R.id.edit);
-        mEditButton.setOnClickListener(this);
-
         mPhotoView = (QuickContactBadge) findViewById(R.id.photo);
 
         mPresenceView = (ImageView) findViewById(R.id.presence);
@@ -168,12 +162,6 @@
         }
     }
 
-    private void performEditClick() {
-        if (mListener != null) {
-            mListener.onEditClicked();
-        }
-    }
-
     private void performDisplayNameClick() {
         if (mListener != null) {
             mListener.onDisplayNameClick(mDisplayNameView);
@@ -337,10 +325,6 @@
 
     public void onClick(View view) {
         switch (view.getId()) {
-            case R.id.edit: {
-                performEditClick();
-                break;
-            }
             case R.id.star: {
                 // Toggle "starred" state
                 // Make sure there is a contact
