diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 25adef1..3cef9ce 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -607,17 +607,14 @@
                     1 /* one home activity by default */);
         } else {
             if (!mIsShowingDashboard) {
-                // Search is shown we are launched thru a Settings "shortcut". UP will be shown
-                // only if it is a sub settings
+                mDisplaySearch = false;
+                // UP will be shown only if it is a sub settings
                 if (mIsShortcut) {
                     mDisplayHomeAsUpEnabled = isSubSettings;
-                    mDisplaySearch = false;
                 } else if (isSubSettings) {
                     mDisplayHomeAsUpEnabled = true;
-                    mDisplaySearch = true;
                 } else {
                     mDisplayHomeAsUpEnabled = false;
-                    mDisplaySearch = false;
                 }
                 setTitleFromIntent(intent);
 
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index df66a07..5dd7098 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -263,7 +263,6 @@
         } else {
             if (profile instanceof MapProfile) {
                 mCachedDevice.setMessagePermissionChoice(BluetoothDevice.ACCESS_ALLOWED);
-                refreshProfilePreference(profilePref, profile);
             }
             if (profile.isPreferred(device)) {
                 // profile is preferred but not connected: disable auto-connect
@@ -271,12 +270,12 @@
                     mCachedDevice.connectProfile(profile);
                 } else {
                     profile.setPreferred(device, false);
-                    refreshProfilePreference(profilePref, profile);
                 }
             } else {
                 profile.setPreferred(device, true);
                 mCachedDevice.connectProfile(profile);
             }
+            refreshProfilePreference(profilePref, profile);
         }
     }
 
