diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 93c1640..3f24915 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -210,6 +210,7 @@
         <item>Dies ist ein Beispiel für Sprachsynthese in Deutsch.</item>
         <item>Questo è un esempio di sintesi vocale in italiano.</item>
         <item>Este es un ejemplo de síntesis de voz en español.</item>
+        <item>이것은 한국어 음성 합성의 예입니다.</item>
     </string-array>
     <string-array name="tts_demo_string_langs" translatable="false">
         <item>eng</item>
@@ -217,6 +218,7 @@
         <item>deu</item>
         <item>ita</item>
         <item>spa</item>
+        <item>kor</item>
     </string-array>
 
 
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 82d15e5..cb35e10 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -743,16 +743,19 @@
     private void setOffMessage() {
         if (mEmptyView != null) {
             mEmptyView.setText(R.string.wifi_empty_list_wifi_off);
-            mEmptyView.append("\n\n");
-            int resId;
-            if (Settings.Secure.isLocationProviderEnabled(getActivity().getContentResolver(),
-                    LocationManager.NETWORK_PROVIDER)) {
-                resId = R.string.wifi_scan_notify_text_location_on;
-            } else {
-                resId = R.string.wifi_scan_notify_text_location_off;
+            if (Settings.Global.getInt(getActivity().getContentResolver(),
+                    Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1) {
+                mEmptyView.append("\n\n");
+                int resId;
+                if (Settings.Secure.isLocationProviderEnabled(getActivity().getContentResolver(),
+                        LocationManager.NETWORK_PROVIDER)) {
+                    resId = R.string.wifi_scan_notify_text_location_on;
+                } else {
+                    resId = R.string.wifi_scan_notify_text_location_off;
+                }
+                CharSequence charSeq = getText(resId);
+                mEmptyView.append(charSeq);
             }
-            CharSequence charSeq = getText(resId);
-            mEmptyView.append(charSeq);
         }
         getPreferenceScreen().removeAll();
     }
