diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index c604e99..276a06b 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -409,6 +409,20 @@
         }
     }
 
+    @Override
+    public void onStart() {
+        super.onStart();
+        // Force filter reload to reflect possible filter changes done via People UI.
+        //
+        // Ideally both (People/Phone) UI should share the same instance for
+        // ContactListFilterController and they should be able to receive filter change event
+        // from the same controller (Bug 5165507)
+        mContactListFilterController.onStart(true);
+        if (mSearchFragment != null) {
+            mSearchFragment.setFilter(mContactListFilterController.getFilter());
+        }
+    }
+
     private void prepareSearchView() {
         final View searchViewLayout =
                 getLayoutInflater().inflate(R.layout.dialtacts_custom_action_bar, null);
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index a03f83f..66bc5f5 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -427,7 +427,7 @@
              */
             configureFragments(!mIsRecreatedInstance);
         }
-        mContactListFilterController.onStart();
+        mContactListFilterController.onStart(false);
         super.onStart();
     }
 
diff --git a/src/com/android/contacts/list/ContactListFilterController.java b/src/com/android/contacts/list/ContactListFilterController.java
index 87228a2..ead3a60 100644
--- a/src/com/android/contacts/list/ContactListFilterController.java
+++ b/src/com/android/contacts/list/ContactListFilterController.java
@@ -43,11 +43,15 @@
         mContext = activity;
     }
 
-    public void onStart() {
-        if (mFilter == null) {
+    /**
+     * @param forceFilterReload when true filter is reloaded even when there's already a cache
+     * for it.
+     */
+    public void onStart(boolean forceFilterReload) {
+        if (mFilter == null || forceFilterReload) {
             mFilter = ContactListFilter.restoreDefaultPreferences(getSharedPreferences());
-            mIsInitialized = true;
         }
+        mIsInitialized = true;
     }
 
     public boolean isInitialized() {
