diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index cb6c077..e924fd8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -19,6 +19,8 @@
     android:sharedUserId="android.uid.shared"
 >
 
+    <original-package android:name="com.android.contacts" />
+
     <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
diff --git a/res/layout-finger/contacts_list_content_join.xml b/res/layout-finger/contacts_list_content_join.xml
index b50713b..f4704cd 100644
--- a/res/layout-finger/contacts_list_content_join.xml
+++ b/res/layout-finger/contacts_list_content_join.xml
@@ -20,6 +20,10 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
+    <include android:id="@+id/searchView" 
+        layout="@layout/search_bar"
+        android:visibility="gone"/>
+
     <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content" 
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 7c51ab1..29f059d 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -771,13 +771,15 @@
      * Configures search UI.
      */
     private void setupSearchView() {
-        mSearchView = findViewById(R.id.searchView);
-        mSearchEditText = (SearchEditText)mSearchView.findViewById(R.id.search_src_text);
-        mSearchEditText.addTextChangedListener(this);
-        mSearchEditText.setOnEditorActionListener(this);
+        if ((mMode & MODE_MASK_NO_FILTER) == 0) {
+            mSearchView = findViewById(R.id.searchView);
+            mSearchEditText = (SearchEditText)mSearchView.findViewById(R.id.search_src_text);
+            mSearchEditText.addTextChangedListener(this);
+            mSearchEditText.setOnEditorActionListener(this);
 
-        ImageButton searchButton = (ImageButton)mSearchView.findViewById(R.id.search_btn);
-        searchButton.setOnClickListener(this);
+            ImageButton searchButton = (ImageButton)mSearchView.findViewById(R.id.search_btn);
+            searchButton.setOnClickListener(this);
+        }
     }
 
     private boolean isPickerMode() {
@@ -926,11 +928,16 @@
     }
 
     private String getTextFilter() {
-        return mSearchEditText.getText().toString();
+        if (mSearchEditText != null) {
+            return mSearchEditText.getText().toString();
+        }
+        return null;
     }
 
     private void setTextFilter(String filterText) {
-        mSearchEditText.setText(filterText);
+        if (mSearchEditText != null) {
+            mSearchEditText.setText(filterText);
+        }
     }
 
     @Override
