diff --git a/keyserver/src/push/rescind.js b/keyserver/src/push/rescind.js
--- a/keyserver/src/push/rescind.js
+++ b/keyserver/src/push/rescind.js
@@ -59,6 +59,7 @@
         const notification = prepareIOSNotification(
           delivery.iosID,
           row.unread_count,
+          threadID,
         );
         deliveryPromises[id] = apnPush({
           notification,
@@ -86,6 +87,7 @@
         const notification = prepareIOSNotification(
           iosID,
           row.unread_count,
+          threadID,
           codeVersion,
         );
         deliveryPromises[id] = apnPush({
@@ -166,6 +168,7 @@
 function prepareIOSNotification(
   iosID: string,
   unreadCount: number,
+  threadID: string,
   codeVersion: ?number,
 ): apn.Notification {
   const notification = new apn.Notification();
@@ -177,6 +180,8 @@
       ? {
           backgroundNotifType: 'CLEAR',
           notificationId: iosID,
+          setUnreadStatus: true,
+          threadID,
         }
       : {
           managedAps: {
@@ -209,6 +214,7 @@
       badge: unreadCount.toString(),
       rescind: 'true',
       rescindID: notifID,
+      setUnreadStatus: 'true',
       threadID,
     },
   };