diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 3f43b6f..eb36a2b 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -16,9 +16,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_label">"Información de los contactos"</string>
-    <string name="dialNumber">"Marcar número"</string>
-    <string name="createNewContact">"Contacto nuevo"</string>
-    <string name="usingNumber">"Usar <xliff:g id="NUMBER">%s</xliff:g>"</string>
     <!-- no translation found for dial_number_using (6620964003493356963) -->
     <skip />
     <!-- no translation found for create_contact_using (5278375606850817161) -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 55eaedc..e13de46 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -19,11 +19,6 @@
     <!-- This is the label for the application that stores contacts data -->
     <string name="app_label">Contacts Storage</string>
 
-    <!-- Strings for search suggestions -->
-    <string name="dialNumber">Dial number</string>
-    <string name="createNewContact">New contact</string>
-    <string name="usingNumber">Using <xliff:g id="number">%s</xliff:g></string>    
-
     <!-- This string appears (on two lines) when you type a number into contacts search, to let you dial the phone number you typed.  The first line will be in bigger type than the second. -->
     <string name="dial_number_using">Dial number\nusing <xliff:g id="number" example="555">%s</xliff:g></string>
 
diff --git a/src/com/android/providers/contacts/ContactsProvider.java b/src/com/android/providers/contacts/ContactsProvider.java
index 7a32415..d264059 100644
--- a/src/com/android/providers/contacts/ContactsProvider.java
+++ b/src/com/android/providers/contacts/ContactsProvider.java
@@ -26,6 +26,7 @@
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.UriMatcher;
+import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.CursorJoiner;
 import android.database.DatabaseUtils;
@@ -1297,18 +1298,20 @@
                         SearchManager.SUGGEST_COLUMN_INTENT_ACTION,
                 };
 
-/*
- *  TODO: figure out how to localize things so myFaves can read the constants when sub classing
- */
+                Resources r = getContext().getResources();
+
                 ArrayList dialNumber = new ArrayList();
-                dialNumber.add("Dial number");
-                dialNumber.add("Using " + searchClause);
+                dialNumber.add(r.getString(com.android.internal.R.string.dialNumber));
+                dialNumber.add(r.getString(com.android.internal.R.string.usingNumber, 
+                        searchClause));
                 dialNumber.add("tel:" + searchClause);
                 dialNumber.add(Intents.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED);
 
                 ArrayList createContact = new ArrayList();
-                createContact.add("Create contact");
-                createContact.add("Using " + searchClause);
+                createContact.add(r.getString(
+                        com.android.internal.R.string.createNewContact));
+                createContact.add(r.getString(com.android.internal.R.string.usingNumber, 
+                        searchClause));
                 createContact.add("tel:" + searchClause);
                 createContact.add(Intents.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED);
 
