diff --git a/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java
index 4c32d5e1fd086c3996892912ae3c76a3ce968e27..68ebf4cee4d215d238bb1341960d2a667e22ec2b 100644
--- a/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java
+++ b/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java
@@ -219,7 +219,10 @@ public class ContactServiceImpl extends ContactService {
                 contentUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
             }
 
-            Cursor result = contentResolver.query(contentUri, CONTACT_PROJECTION, null, null, null);
+            Cursor result = null;
+            if (contentUri != null) {
+                result = contentResolver.query(contentUri, CONTACT_PROJECTION, null, null, null);
+            }
 
             if (result == null) {
                 return null;
diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
index dc9d3aa5d851fd42af3e9fd4c2f4d8c7c548c9ec..797675a43fbca1d926668433c019d0535faaee2c 100644
--- a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
+++ b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java
@@ -247,7 +247,9 @@ public abstract class ContactService extends Observable {
         if (contact == null && (settings.isAllowSystemContacts() && mDeviceRuntimeService.hasContactPermission())) {
             Log.w(TAG, "getContactById : cache miss for " + id);
             contact = findContactByIdFromSystem(id, key);
-            mContactList.put(id, contact);
+            if (contact != null) {
+                mContactList.put(id, contact);
+            }
         }
         return contact;
     }