diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java index c3c095061..52e04b858 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java @@ -388,7 +388,10 @@ public class MessagesCache extends RedisClusterPubSubAdapter imp } public void removeMessageAvailabilityListener(final MessageAvailabilityListener listener) { - @Nullable final String queueName = queueNamesByMessageListener.get(listener); + @Nullable final String queueName; + synchronized (messageListenersByQueueName) { + queueName = queueNamesByMessageListener.get(listener); + } if (queueName != null) { unsubscribeFromKeyspaceNotifications(queueName);