diff --git a/lib/selectors/socket-selectors.js b/lib/selectors/socket-selectors.js
--- a/lib/selectors/socket-selectors.js
+++ b/lib/selectors/socket-selectors.js
@@ -88,53 +88,51 @@
         } else if (serverRequest.type === serverRequestTypes.CHECK_STATE) {
           const query = calendarQuery(calendarActive);
 
-          const convertedEntryInfos =
-            stateSyncSpecs.entries.convertClientToServerInfos(
-              entryInfos,
-              query,
-            );
-
-          const convertedThreadInfos =
-            stateSyncSpecs.threads.convertClientToServerInfos(
-              threadInfos,
-              query,
-            );
-
-          const convertedUserInfos =
-            stateSyncSpecs.users.convertClientToServerInfos(userInfos, query);
-
-          const convertedCurrentUserInfo = currentUserInfo
-            ? stateSyncSpecs.currentUser.convertClientToServerInfos(
-                currentUserInfo,
+          const convertedInfos = {
+            [stateSyncSpecs.entries.hashKey]:
+              stateSyncSpecs.entries.convertClientToServerInfos(
+                entryInfos,
+                query,
+              ),
+            [stateSyncSpecs.threads.hashKey]:
+              stateSyncSpecs.threads.convertClientToServerInfos(
+                threadInfos,
                 query,
-              )
-            : currentUserInfo;
+              ),
+            [stateSyncSpecs.users.hashKey]:
+              stateSyncSpecs.users.convertClientToServerInfos(userInfos, query),
+            [stateSyncSpecs.currentUser.hashKey]: currentUserInfo
+              ? stateSyncSpecs.currentUser.convertClientToServerInfos(
+                  currentUserInfo,
+                  query,
+                )
+              : currentUserInfo,
+          };
 
           const hashResults = {};
           for (const key in serverRequest.hashesToCheck) {
             const expectedHashValue = serverRequest.hashesToCheck[key];
             let hashValue;
-            if (key === 'threadInfos') {
-              hashValue = hash(convertedThreadInfos);
-            } else if (key === 'entryInfos') {
-              hashValue = hash(convertedEntryInfos);
-            } else if (key === 'userInfos') {
-              hashValue = hash(convertedUserInfos);
-            } else if (key === 'currentUserInfo') {
-              hashValue = hash(convertedCurrentUserInfo);
+            if (convertedInfos[key]) {
+              hashValue = hash(convertedInfos[key]);
             } else if (key.startsWith('threadInfo|')) {
               const [, threadID] = key.split('|');
-              hashValue = hash(convertedThreadInfos[threadID]);
+              hashValue = hash(
+                convertedInfos[stateSyncSpecs.threads.hashKey][threadID],
+              );
             } else if (key.startsWith('entryInfo|')) {
               const [, entryID] = key.split('|');
-              let rawEntryInfo = convertedEntryInfos[entryID];
+              let rawEntryInfo =
+                convertedInfos[stateSyncSpecs.entries.hashKey][entryID];
               if (rawEntryInfo) {
                 rawEntryInfo = serverEntryInfo(rawEntryInfo);
               }
               hashValue = hash(rawEntryInfo);
             } else if (key.startsWith('userInfo|')) {
               const [, userID] = key.split('|');
-              hashValue = hash(convertedUserInfos[userID]);
+              hashValue = hash(
+                convertedInfos[stateSyncSpecs.users.hashKey][userID],
+              );
             } else {
               continue;
             }
@@ -143,7 +141,9 @@
 
           const { failUnmentioned } = serverRequest;
           if (failUnmentioned && failUnmentioned.threadInfos) {
-            for (const threadID in convertedThreadInfos) {
+            for (const threadID in convertedInfos[
+              stateSyncSpecs.threads.hashKey
+            ]) {
               const key = `threadInfo|${threadID}`;
               const hashResult = hashResults[key];
               if (hashResult === null || hashResult === undefined) {
@@ -152,7 +152,9 @@
             }
           }
           if (failUnmentioned && failUnmentioned.entryInfos) {
-            for (const entryID in convertedEntryInfos) {
+            for (const entryID in convertedInfos[
+              stateSyncSpecs.entries.hashKey
+            ]) {
               const key = `entryInfo|${entryID}`;
               const hashResult = hashResults[key];
               if (hashResult === null || hashResult === undefined) {
@@ -161,7 +163,7 @@
             }
           }
           if (failUnmentioned && failUnmentioned.userInfos) {
-            for (const userID in convertedUserInfos) {
+            for (const userID in convertedInfos[stateSyncSpecs.users.hashKey]) {
               const key = `userInfo|${userID}`;
               const hashResult = hashResults[key];
               if (hashResult === null || hashResult === undefined) {