diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index be6a766..3d1a1c1 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -16,5 +16,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_label" msgid="3836152623003881586">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎Blocked Numbers Storage‎‏‎‎‏‎"</string>
+    <string name="app_label" msgid="3836152623003881586">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎Blocked Numbers Storage‎‏‎‎‏‎"</string>
 </resources>
diff --git a/src/com/android/providers/blockednumber/BlockedNumberProvider.java b/src/com/android/providers/blockednumber/BlockedNumberProvider.java
index 864f08a..68a8c65 100644
--- a/src/com/android/providers/blockednumber/BlockedNumberProvider.java
+++ b/src/com/android/providers/blockednumber/BlockedNumberProvider.java
@@ -15,6 +15,8 @@
  */
 package com.android.providers.blockednumber;
 
+import static android.telecom.Log.piiHandle;
+
 import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -411,15 +413,12 @@
 
     private boolean isBlocked(String phoneNumber) {
         if (TextUtils.isEmpty(phoneNumber)) {
+            Log.i(TAG, "isBlocked: NOT BLOCKED; empty #");
             return false;
         }
 
         final String inE164 = Utils.getE164Number(getContext(), phoneNumber, null); // may be empty.
 
-        if (DEBUG) {
-            Log.d(TAG, String.format("isBlocked: in=%s, e164=%s", phoneNumber, inE164));
-        }
-
         final Cursor c = mDbHelper.getReadableDatabase().rawQuery(
                 "SELECT " +
                 BlockedNumberContract.BlockedNumbers.COLUMN_ORIGINAL_NUMBER + "," +
@@ -432,18 +431,22 @@
                 );
         try {
             while (c.moveToNext()) {
-                if (DEBUG) {
-                    final String original = c.getString(0);
-                    final String e164 = c.getString(1);
-
-                    Log.d(TAG, String.format("match found: original=%s, e164=%s", original, e164));
-                }
+                final String original = c.getString(0);
+                final String e164 = c.getString(1);
+                Log.i(TAG, String.format("isBlocked: BLOCKED; number=%s, e164=%s, foundOrig=%s, "
+                                + "foundE164=%s",
+                        piiHandle(phoneNumber),
+                        piiHandle(inE164),
+                        piiHandle(original),
+                        piiHandle(e164)));
                 return true;
             }
         } finally {
             c.close();
         }
         // No match found.
+        Log.i(TAG, String.format("isBlocked: NOT BLOCKED; number=%s, e164=%s",
+                piiHandle(phoneNumber), piiHandle(inE164)));
         return false;
     }
 
