diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 2c36cec..b2810bc 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -119,8 +119,7 @@
         if (TextUtils.isEmpty(details.name)) {
             nameText = displayNumber;
             numberText = mPhoneNumberHelper.getGeocodeForNumber(
-                    mPhoneNumberHelper.parsePhoneNumber(
-                            details.number.toString(), details.countryIso));
+                    details.number.toString(), details.countryIso);
         } else {
             nameText = details.name;
             if (numberFormattedLabel != null) {
diff --git a/src/com/android/contacts/calllog/PhoneNumberHelper.java b/src/com/android/contacts/calllog/PhoneNumberHelper.java
index c898a09..ba24021 100644
--- a/src/com/android/contacts/calllog/PhoneNumberHelper.java
+++ b/src/com/android/contacts/calllog/PhoneNumberHelper.java
@@ -111,7 +111,7 @@
      * Returns a structured phone number from the given text representation, or null if the number
      * cannot be parsed.
      */
-    public PhoneNumber parsePhoneNumber(String number, String countryIso) {
+    private PhoneNumber parsePhoneNumber(String number, String countryIso) {
         try {
             return mPhoneNumberUtil.parse(number, countryIso);
         } catch (NumberParseException e) {
@@ -120,7 +120,8 @@
     }
 
     /** Returns the geocode associated with a phone number or the empty string if not available. */
-    public String getGeocodeForNumber(PhoneNumber structuredPhoneNumber) {
+    public String getGeocodeForNumber(String number, String countryIso) {
+        PhoneNumber structuredPhoneNumber = parsePhoneNumber(number, countryIso);
         if (structuredPhoneNumber != null) {
             return mPhoneNumberOfflineGeocoder.getDescriptionForNumber(
                     structuredPhoneNumber, mResources.getConfiguration().locale);
