diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 4faac84..2a19006 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -347,7 +347,7 @@
     <string name="sum_fdn" msgid="1959399454900272878">"Umožňuje spravovať povolené čísla"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Umožňuje zmeniť kód PIN na prístup k povoleným číslam"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Správa telefónneho zoznamu"</string>
-    <string name="voice_privacy" msgid="3776841382844614716">"Ochrana osobných údajov hlasovej pošty"</string>
+    <string name="voice_privacy" msgid="3776841382844614716">"Ochrana súkromia hlasovej pošty"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Povoliť režim vylepšenej ochrany osobných údajov"</string>
     <string name="tty_mode_option_title" msgid="9033098925144434669">"Režim textového telefónu"</string>
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Nastaviť režim TTY"</string>
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index 01097f4..ef92349 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -12,7 +12,9 @@
 import android.os.AsyncResult;
 import android.os.Handler;
 import android.os.Message;
+import android.telephony.PhoneNumberUtils;
 import android.text.BidiFormatter;
+import android.text.SpannableString;
 import android.text.TextDirectionHeuristics;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -151,18 +153,23 @@
 
     private void updateSummaryText() {
         if (isToggled()) {
-            CharSequence summaryOn;
             final String number = getRawPhoneNumber();
             if (number != null && number.length() > 0) {
                 // Wrap the number to preserve presentation in RTL languages.
                 String wrappedNumber = BidiFormatter.getInstance().unicodeWrap(
                         number, TextDirectionHeuristics.LTR);
                 String values[] = { wrappedNumber };
-                summaryOn = TextUtils.replace(mSummaryOnTemplate, SRC_TAGS, values);
+                String summaryOn = String.valueOf(
+                        TextUtils.replace(mSummaryOnTemplate, SRC_TAGS, values));
+                int start = summaryOn.indexOf(wrappedNumber);
+
+                SpannableString spannableSummaryOn = new SpannableString(summaryOn);
+                PhoneNumberUtils.addTtsSpan(spannableSummaryOn,
+                        start, start + wrappedNumber.length());
+                setSummaryOn(spannableSummaryOn);
             } else {
-                summaryOn = getContext().getString(R.string.sum_cfu_enabled_no_number);
+                setSummaryOn(getContext().getString(R.string.sum_cfu_enabled_no_number));
             }
-            setSummaryOn(summaryOn);
         }
 
     }
