diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index de92092..b5ff80d 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -119,7 +119,7 @@
     <item msgid="66312817817365647">"የተጋበዘ"</item>
     <item msgid="4463567967438038210">"ስኬታማ አልነበረም"</item>
     <item msgid="6556827947082659801">"የሚገኝ"</item>
-    <item msgid="6096962300722555553">"ከክልል ውጪ"</item>
+    <item msgid="6096962300722555553">"ከክልል ውጭ"</item>
   </string-array>
   <string-array name="bluetooth_visibility_timeout_entries">
     <item msgid="6697785880436838464">"2 ደቂቃዎች"</item>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index f146ad6..09d1a34 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -366,7 +366,7 @@
     <item msgid="2114661179947426734">"ଦିବ୍ୟାଙ୍ଗମାନଙ୍କ ପାଇଁ ସୁବିଧାଗୁଡ଼ିକର ଭଲ୍ୟୁମ୍‌"</item>
   </string-array>
   <string-array name="long_press_timeout_selector_titles">
-    <item msgid="6926391290986427331">"କମ୍"</item>
+    <item msgid="6926391290986427331">"କମ"</item>
     <item msgid="5118829513010894576">"ମଧ୍ୟମ"</item>
     <item msgid="6740026006576843477">"ଲମ୍ଵା"</item>
   </string-array>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index b7e7632..1504336 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -286,7 +286,7 @@
     <item msgid="8321845997769724385">"ler estado do telemóvel"</item>
     <item msgid="8319500905789302082">"adicionar correio de voz"</item>
     <item msgid="1745447762712473288">"utilizar SIP"</item>
-    <item msgid="2986821801246709737">"processar chamada efetuada"</item>
+    <item msgid="2986821801246709737">"processar chamada feita"</item>
     <item msgid="2702338156976571452">"impressão digital"</item>
     <item msgid="7925495329948404955">"sensores de corpo"</item>
     <item msgid="8163066895749904470">"ler difusões celulares"</item>
@@ -353,7 +353,7 @@
     <item msgid="973363520315356844">"Ler estado do telemóvel"</item>
     <item msgid="1203157739257425062">"Adicionar correio de voz"</item>
     <item msgid="9143978647977300187">"Utilizar SIP"</item>
-    <item msgid="3053060162752878562">"Processar chamada efetuada"</item>
+    <item msgid="3053060162752878562">"Processar chamada feita"</item>
     <item msgid="4480721672278100858">"Impressão digital"</item>
     <item msgid="7883743426029759112">"Sensores de corpo"</item>
     <item msgid="2546206711741159825">"Ler difusões celulares"</item>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 0e27777..93427b7 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -106,7 +106,7 @@
     <!-- no translation found for wifi_tether_security:3 (5512131148045414341) -->
   <string-array name="eap_ocsp_type">
     <item msgid="8568170800958331461">"Nu verifica"</item>
-    <item msgid="5703177653586269306">"Solicitați starea certificatelor"</item>
+    <item msgid="5703177653586269306">"Solicită starea certificatelor"</item>
     <item msgid="326388247868439528">"Solicită obligatoriu starea certificatelor"</item>
   </string-array>
   <string-array name="wifi_p2p_wps_setup">
@@ -272,7 +272,7 @@
     <item msgid="5272927168355895681">"volumul alarmei"</item>
     <item msgid="4422070755065530548">"volum notificări"</item>
     <item msgid="3250654589277825306">"volumul Bluetooth"</item>
-    <item msgid="4212187233638382465">"mențineți activ"</item>
+    <item msgid="4212187233638382465">"menține activ"</item>
     <item msgid="5099026183238335900">"monitorizarea locației"</item>
     <item msgid="2297727967385895059">"monitorizarea localizării cu consum ridicat de energie"</item>
     <item msgid="8700593962030471569">"obțineți statistici de utilizare"</item>
@@ -321,7 +321,7 @@
     <item msgid="1030342664910454057">"Primește mesaje SMS/MMS"</item>
     <item msgid="9189359977063200554">"Trimite mesaje SMS/MMS"</item>
     <item msgid="6954817837534799424">"Citește mesaje SMS/MMS"</item>
-    <item msgid="7921014514153395846">"Scrieți mesaje SMS/MMS"</item>
+    <item msgid="7921014514153395846">"Scrie mesaje SMS/MMS"</item>
     <item msgid="8997371825401751421">"Modifică setările"</item>
     <item msgid="7005755175240764443">"Desenează deasupra"</item>
     <item msgid="8267704990417682222">"Accesează notificări"</item>
@@ -509,7 +509,7 @@
     <item msgid="2047166446768045816">"Tratează ca fiind necontorizată"</item>
   </string-array>
   <string-array name="wifi_privacy_entries">
-    <item msgid="3485945604919292489">"Folosiți o adresă MAC aleatorie (prestabilit)"</item>
+    <item msgid="3485945604919292489">"Folosește o adresă MAC aleatorie (prestabilit)"</item>
     <item msgid="741680937828608749">"Folosește adresa MAC a dispozitivului"</item>
   </string-array>
   <string-array name="wifi_hidden_entries">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 25461aa..b8d5a8e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -29,6 +29,8 @@
 
     <!-- Device Info screen. Used for a status item's value when the proper value is not known -->
     <string name="device_info_default">Unknown</string>
+    <!-- String for removal of sensitive info on about, depending on tap -->
+    <string name="device_info_protected_single_press">Tap to show info</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
     <plurals name="show_dev_countdown">
         <item quantity="one">You are now <xliff:g id="step_count">%1$d</xliff:g> step away from being a developer.</item>
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 9547318..9165745 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -57,7 +57,6 @@
             android:order="3"
             android:title="@string/status_number"
             android:summary="@string/summary_placeholder"
-            android:selectable="false"
             settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
             settings:enableCopying="true"/>
     </PreferenceCategory>
diff --git a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
index 99c572d..2ad9331 100644
--- a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
@@ -56,7 +56,24 @@
 
     @Override
     public CharSequence getSummary() {
-        return getFirstPhoneNumber();
+        return mContext.getString(R.string.device_info_protected_single_press);
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        String prefKey = preference.getKey();
+        if (prefKey.startsWith(KEY_PHONE_NUMBER)) {
+            int simSlotNumber = 0;
+            if (!TextUtils.equals(prefKey, KEY_PHONE_NUMBER)) {
+                // Get multisim slot number from preference key.
+                // Multisim preference key is KEY_PHONE_NUMBER + simSlotNumber
+                simSlotNumber = Integer.parseInt(
+                        prefKey.replaceAll("[^0-9]", ""));
+            }
+            final Preference simStatusPreference = mPreferenceList.get(simSlotNumber);
+            simStatusPreference.setSummary(getPhoneNumber(simSlotNumber));
+        }
+        return super.handlePreferenceTreeClick(preference);
     }
 
     @Override
@@ -73,7 +90,6 @@
             final Preference multiSimPreference = createNewPreference(screen.getContext());
             multiSimPreference.setOrder(phonePreferenceOrder + simSlotNumber);
             multiSimPreference.setKey(KEY_PHONE_NUMBER + simSlotNumber);
-            multiSimPreference.setSelectable(false);
             category.addPreference(multiSimPreference);
             mPreferenceList.add(multiSimPreference);
         }
@@ -84,7 +100,7 @@
         for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) {
             final Preference simStatusPreference = mPreferenceList.get(simSlotNumber);
             simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber));
-            simStatusPreference.setSummary(getPhoneNumber(simSlotNumber));
+            simStatusPreference.setSummary(getSummary());
         }
     }
 
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index 027e8c8..e904772 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -96,7 +96,7 @@
 
     @Override
     public CharSequence getSummary() {
-        return getSummary(0);
+        return mContext.getString(R.string.device_info_protected_single_press);
     }
 
     private CharSequence getSummary(int simSlot) {
@@ -113,6 +113,7 @@
         }
 
         ImeiInfoDialogFragment.show(mFragment, simSlot, preference.getTitle().toString());
+        preference.setSummary(getSummary(simSlot));
         return true;
     }
 
@@ -129,7 +130,7 @@
 
     private void updatePreference(Preference preference, int simSlot) {
         preference.setTitle(getTitle(simSlot));
-        preference.setSummary(getSummary(simSlot));
+        preference.setSummary(getSummary());
     }
 
     private CharSequence getTitleForGsmPhone(int simSlot) {
