diff --git a/src/com/android/contacts/interactions/SmsInteractionsLoader.java b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
index 295c99a..8d58712 100644
--- a/src/com/android/contacts/interactions/SmsInteractionsLoader.java
+++ b/src/com/android/contacts/interactions/SmsInteractionsLoader.java
@@ -66,8 +66,13 @@
         // Retrieve the thread IDs
         List<String> threadIdStrings = new ArrayList<>();
         for (String phone : mPhoneNums) {
-            threadIdStrings.add(String.valueOf(
-                    Telephony.Threads.getOrCreateThreadId(getContext(), phone)));
+            try {
+                threadIdStrings.add(String.valueOf(
+                        Telephony.Threads.getOrCreateThreadId(getContext(), phone)));
+            } catch (Exception e) {
+                // Do nothing. Telephony.Threads.getOrCreateThreadId() throws exceptions when
+                // it can't find/create a threadId (b/17657656).
+            }
         }
 
         // Query the SMS database for the threads
@@ -94,6 +99,9 @@
      * Return the most recent messages between a list of threads
      */
     private Cursor getSmsCursorFromThreads(List<String> threadIds) {
+        if (threadIds.size() == 0) {
+            return null;
+        }
         String selection = Telephony.Sms.THREAD_ID + " IN "
                 + ContactInteractionUtil.questionMarks(threadIds.size());
 
