diff --git a/lib/reducers/keyserver-reducer.js b/lib/reducers/keyserver-reducer.js
--- a/lib/reducers/keyserver-reducer.js
+++ b/lib/reducers/keyserver-reducer.js
@@ -349,37 +349,46 @@
       ],
     };
 
-    return {
-      ...state,
-      keyserverInfos: {
-        ...state.keyserverInfos,
-        [keyserverID]: {
+    const operation: ReplaceKeyserverOperation = {
+      type: 'replace_keyserver',
+      payload: {
+        id: keyserverID,
+        keyserverInfo: {
           ...state.keyserverInfos[keyserverID],
           connection,
         },
       },
     };
+
+    return {
+      ...state,
+      keyserverInfos: processStoreOps(state.keyserverInfos, [operation]),
+    };
   } else if (action.type === updateActivityActionTypes.success) {
     const { activityUpdates } = action.payload;
-    let keyserverInfos = { ...state.keyserverInfos };
+
+    const operations: ReplaceKeyserverOperation[] = [];
     for (const keyserverID in activityUpdates) {
-      const oldConnection = keyserverInfos[keyserverID].connection;
+      const oldConnection = state.keyserverInfos[keyserverID].connection;
       const queuedActivityUpdates = oldConnection.queuedActivityUpdates.filter(
         activityUpdate =>
           !activityUpdates[keyserverID].includes(activityUpdate),
       );
 
-      keyserverInfos = {
-        ...keyserverInfos,
-        [keyserverID]: {
-          ...keyserverInfos[keyserverID],
-          connection: { ...oldConnection, queuedActivityUpdates },
+      operations.push({
+        type: 'replace_keyserver',
+        payload: {
+          id: keyserverID,
+          keyserverInfo: {
+            ...state.keyserverInfos[keyserverID],
+            connection: { ...oldConnection, queuedActivityUpdates },
+          },
         },
-      };
+      });
     }
     return {
       ...state,
-      keyserverInfos,
+      keyserverInfos: processStoreOps(state.keyserverInfos, operations),
     };
   } else if (
     action.type === logOutActionTypes.success ||