diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
index a58a8ee..bbb0d84 100644
--- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -23,6 +23,7 @@
 
 import android.net.Uri;
 import android.os.Bundle;
+import android.provider.ContactsContract;
 import android.text.TextUtils;
 
 import java.util.TreeSet;
@@ -115,7 +116,9 @@
     protected boolean onItemLongClick(int position, long id) {
         final int previouslySelectedCount = getAdapter().getSelectedContactIds().size();
         final Uri uri = getAdapter().getContactUri(position);
-        if (uri != null && (position > 0 || !getAdapter().hasProfile())) {
+        final int partition = getAdapter().getPartitionForPosition(position);
+        if (uri != null && (partition == ContactsContract.Directory.DEFAULT
+                && (position > 0 || !getAdapter().hasProfile()))) {
             final String contactId = uri.getLastPathSegment();
             if (!TextUtils.isEmpty(contactId)) {
                 if (mCheckBoxListListener != null) {
diff --git a/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
index 7c6f7bc..3ba86db 100644
--- a/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
+++ b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
@@ -21,6 +21,7 @@
 
 import android.content.Context;
 import android.database.Cursor;
+import android.provider.ContactsContract;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.CheckBox;
@@ -108,17 +109,19 @@
     @Override
     protected void bindView(View itemView, int partition, Cursor cursor, int position) {
         super.bindView(itemView, partition, cursor, position);
-        final ContactListItemView view = (ContactListItemView)itemView;
-        bindCheckBox(view, cursor, position);
+        final ContactListItemView view = (ContactListItemView) itemView;
+        bindCheckBox(view, cursor, position, partition == ContactsContract.Directory.DEFAULT);
     }
 
-    private void bindCheckBox(ContactListItemView view, Cursor cursor, int position) {
-        // Disable clicking on the first entry when showing check boxes. We do this by
-        // telling the view to handle clicking itself.
-        view.setClickable(position == 0 && hasProfile() && mDisplayCheckBoxes);
+    private void bindCheckBox(ContactListItemView view, Cursor cursor, int position,
+            boolean isLocalDirectory) {
+        // Disable clicking on the ME profile and all contacts from remote directories
+        // when showing check boxes. We do this by telling the view to handle clicking itself.
+        view.setClickable((position == 0 && hasProfile() || !isLocalDirectory)
+                && mDisplayCheckBoxes);
         // Only show checkboxes if mDisplayCheckBoxes is enabled. Also, never show the
-        // checkbox for the Me profile entry.
-        if (position == 0 && hasProfile() || !mDisplayCheckBoxes) {
+        // checkbox for the Me profile entry and other directory contacts except local directory.
+        if (position == 0 && hasProfile() || !mDisplayCheckBoxes || !isLocalDirectory) {
             view.hideCheckBox();
             return;
         }
