diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 78ca252..72ab6cb 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -112,19 +112,21 @@
             numberFormattedLabel = Phone.getTypeLabel(mResources, numberType, numberLabel);
         }
 
-        CharSequence nameText;
-        CharSequence numberText;
+        final CharSequence nameText;
+        final CharSequence numberText;
         if (TextUtils.isEmpty(name)) {
             nameText = getDisplayNumber(number);
             numberText = "";
         } else {
             nameText = name;
-            numberText = getDisplayNumber(number);
+            CharSequence displayNumber = getDisplayNumber(number);
             if (callType != 0 && numberFormattedLabel != null) {
                 numberText = FormatUtils.applyStyleToSpan(Typeface.BOLD,
-                        numberFormattedLabel + " " + number, 0,
+                        numberFormattedLabel + " " + displayNumber, 0,
                         numberFormattedLabel.length(),
                         Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            } else {
+                numberText = displayNumber;
             }
         }
 
