diff --git a/java/com/android/dialer/calllog/ClearMissedCalls.java b/java/com/android/dialer/calllog/ClearMissedCalls.java
index 78eb802..56c8e57 100644
--- a/java/com/android/dialer/calllog/ClearMissedCalls.java
+++ b/java/com/android/dialer/calllog/ClearMissedCalls.java
@@ -138,7 +138,12 @@
 
           Selection.Builder selectionBuilder =
               Selection.builder()
-                  .and(Selection.column(Calls.IS_READ).is("=", 0))
+                  .and(
+                      Selection.column(Calls.IS_READ)
+                          .is("=", 0)
+                          .buildUpon()
+                          .or(Selection.column(Calls.IS_READ).is("IS NULL"))
+                          .build())
                   .and(Selection.column(Calls.TYPE).is("=", Calls.MISSED_TYPE));
           if (!ids.isEmpty()) {
             selectionBuilder.and(Selection.column(Calls._ID).in(toStrings(ids)));
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
index 66ba8aa..61f7deb 100644
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
@@ -63,8 +63,8 @@
           + (AnnotatedCallLog.NUMBER_PRESENTATION + " integer, ")
           + (AnnotatedCallLog.DURATION + " integer, ")
           + (AnnotatedCallLog.DATA_USAGE + " integer, ")
-          + (AnnotatedCallLog.IS_READ + " integer, ")
-          + (AnnotatedCallLog.NEW + " integer, ")
+          + (AnnotatedCallLog.IS_READ + " integer not null, ")
+          + (AnnotatedCallLog.NEW + " integer not null, ")
           + (AnnotatedCallLog.GEOCODED_LOCATION + " text, ")
           + (AnnotatedCallLog.PHONE_ACCOUNT_COMPONENT_NAME + " text, ")
           + (AnnotatedCallLog.PHONE_ACCOUNT_ID + " text, ")
diff --git a/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java b/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
index 2760634..ee7f6d0 100644
--- a/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
+++ b/java/com/android/dialer/main/impl/bottomnav/MissedCallCountObserver.java
@@ -62,7 +62,13 @@
                           .query(
                               Calls.CONTENT_URI,
                               new String[] {Calls._ID},
-                              Calls.IS_READ + " = ? AND " + Calls.TYPE + " = ?",
+                              "("
+                                  + Calls.IS_READ
+                                  + " = ? OR "
+                                  + Calls.IS_READ
+                                  + " IS NULL) AND "
+                                  + Calls.TYPE
+                                  + " = ?",
                               new String[] {"0", Integer.toString(Calls.MISSED_TYPE)},
                               /* sortOrder= */ null)) {
                     return cursor == null ? 0 : cursor.getCount();
