diff --git a/src/com/android/dialer/database/DialerDatabaseHelper.java b/src/com/android/dialer/database/DialerDatabaseHelper.java
index b9e4b9a..555c171 100644
--- a/src/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/src/com/android/dialer/database/DialerDatabaseHelper.java
@@ -69,7 +69,7 @@
     /**
      * SmartDial DB version ranges:
      * <pre>
-     *   0-98   KeyLimePie
+     *   0-98   KitKat
      * </pre>
      */
     public static final int DATABASE_VERSION = 4;
@@ -959,7 +959,7 @@
                             photoId));
                     counter++;
                     if (DEBUG) {
-                        stopWatch.lap("Added one result");
+                        stopWatch.lap("Added one result: Name: " + displayName);
                     }
                 }
             }
diff --git a/tests/src/com/android/dialer/database/SmartDialPrefixTest.java b/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
index 23bda7c..558be26 100644
--- a/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
+++ b/tests/src/com/android/dialer/database/SmartDialPrefixTest.java
@@ -31,13 +31,10 @@
 import com.android.dialer.dialpad.SmartDialPrefix;
 
 import java.lang.Exception;
-import java.lang.FindBugsSuppressWarnings;
 import java.lang.Override;
 import java.lang.String;
 import java.util.ArrayList;
 
-import junit.framework.TestCase;
-
 /**
  * To run this test, use the command:
  * adb shell am instrument -w -e class com.android.dialer.dialpad.SmartDialPrefixTest /
@@ -80,6 +77,7 @@
         assertTrue(SmartDialPrefix.isCountryNanp("vi"));
     }
 
+    @Override
     protected void setUp() {
         mTestHelper = DialerDatabaseHelper.getNewInstanceForTest(getContext());
     }
@@ -136,8 +134,8 @@
 
     private ContactNumber constructNewContactWithDummyIds(MatrixCursor contactCursor,
             MatrixCursor nameCursor, String number, int id, String displayName) {
-        return constructNewContact(contactCursor, nameCursor, id, number, 0, "", displayName, 0, 0,
-                0, 0, 0, 0, 0);
+        return constructNewContact(contactCursor, nameCursor, id, number, id, String.valueOf(id),
+                displayName, 0, 0, 0, 0, 0, 0, 0);
     }
 
     private ContactNumber constructNewContact(MatrixCursor contactCursor, MatrixCursor nameCursor,
