diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index 5134a1a..ca07516 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -140,11 +140,12 @@
         if (!isSearchMode() && data != null) {
             int count = data.getCount();
             if (count != 0) {
+                count -= (mUserProfileExists ? 1: 0);
                 String format = getResources().getQuantityText(
                         R.plurals.listTotalAllContacts, count).toString();
                 // Do not count the user profile in the contacts count
                 if (mUserProfileExists) {
-                    getAdapter().setContactsCount(String.format(format, count - 1));
+                    getAdapter().setContactsCount(String.format(format, count));
                 } else {
                     mCounterHeaderView.setText(String.format(format, count));
                 }
diff --git a/src/com/android/contacts/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index 89de966..bb49027 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -192,16 +192,16 @@
                                 + "SELECT DISTINCT " + RawContacts.CONTACT_ID
                                 + " FROM raw_contacts"
                                 + " WHERE " + RawContacts.ACCOUNT_TYPE + "=?"
-                                + " AND " + RawContacts.ACCOUNT_NAME + "=?"
-                                + " OR " + Contacts.IS_USER_PROFILE + "=1");
+                                + " AND " + RawContacts.ACCOUNT_NAME + "=?");
                 selectionArgs.add(filter.accountType);
                 selectionArgs.add(filter.accountName);
                 if (filter.dataSet != null) {
-                    selection.append(" AND " + RawContacts.DATA_SET + "=?)");
+                    selection.append(" AND " + RawContacts.DATA_SET + "=?");
                     selectionArgs.add(filter.dataSet);
                 } else {
-                    selection.append(" AND " + RawContacts.DATA_SET + " IS NULL)");
+                    selection.append(" AND " + RawContacts.DATA_SET + " IS NULL");
                 }
+                selection.append(" OR " + Contacts.IS_USER_PROFILE + "=1)");
                 break;
             }
             case ContactListFilter.FILTER_TYPE_GROUP: {
