diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
index dee5109..71d9dad 100644
--- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -49,7 +49,7 @@
 import com.android.dialer.enrichedcall.EnrichedCallManager;
 import com.android.dialer.lettertile.LetterTileDrawable;
 import com.android.dialer.lightbringer.LightbringerComponent;
-import com.android.dialer.location.GeoUtil;
+import com.android.dialer.phonenumberutil.PhoneNumberHelper;
 import com.android.dialer.util.CallUtil;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -381,7 +381,7 @@
         text = phoneLabel;
       } else {
         final String phoneNumber = cursor.getString(PhoneQuery.PHONE_NUMBER);
-        text = GeoUtil.getGeocodedLocationFor(mContext, phoneNumber);
+        text = PhoneNumberHelper.getGeoDescription(mContext, phoneNumber);
       }
     }
     view.setPhoneNumber(text);
diff --git a/java/com/android/dialer/location/GeoUtil.java b/java/com/android/dialer/location/GeoUtil.java
index 1be4054..b39256d 100644
--- a/java/com/android/dialer/location/GeoUtil.java
+++ b/java/com/android/dialer/location/GeoUtil.java
@@ -17,11 +17,6 @@
 package com.android.dialer.location;
 
 import android.content.Context;
-import com.google.i18n.phonenumbers.NumberParseException;
-import com.google.i18n.phonenumbers.PhoneNumberUtil;
-import com.google.i18n.phonenumbers.Phonenumber;
-import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
-import java.util.Locale;
 
 /** Static methods related to Geo. */
 public class GeoUtil {
@@ -31,17 +26,4 @@
     // The {@link CountryDetector} should never return null so this is safe to return as-is.
     return CountryDetector.getInstance(context).getCurrentCountryIso();
   }
-
-  public static String getGeocodedLocationFor(Context context, String phoneNumber) {
-    final PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
-    final PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
-    try {
-      final Phonenumber.PhoneNumber structuredPhoneNumber =
-          phoneNumberUtil.parse(phoneNumber, getCurrentCountryIso(context));
-      final Locale locale = context.getResources().getConfiguration().locale;
-      return geocoder.getDescriptionForNumber(structuredPhoneNumber, locale);
-    } catch (NumberParseException e) {
-      return null;
-    }
-  }
 }
