diff --git a/main/stasis_cache.c b/main/stasis_cache.c
index 9907c6c22661ba39e6a08f51f72a05bfe3d2ac39..acf6fd0db65603424d4e605fc05a19e32a2f77d6 100644
--- a/main/stasis_cache.c
+++ b/main/stasis_cache.c
@@ -817,29 +817,16 @@ static void caching_topic_exec(void *data, struct stasis_subscription *sub,
 
 	msg_type = stasis_message_type(message);
 
+	/*
+	 * app_voicemail used to rely on the cache containing every topic subscribe and
+	 * unsubscribe in order to determine if anyone was currently subscribed to a
+	 * particular mailbox.  This caused the cache to grow unabated for the life of
+	 * the asterisk instance.  Since it no longer needs the cache of these message
+	 * types, and no other function needs them, we no longer cache them.
+	 */
 	if (stasis_subscription_change_type() == msg_type) {
-		struct stasis_subscription_change *change = stasis_message_data(message);
-
-		/*
-		 * If this change type is an unsubscribe, we need to find the original
-		 * subscribe and remove it from the cache otherwise the cache will
-		 * continue to grow unabated.
-		 */
-		if (strcmp(change->description, "Unsubscribe") == 0) {
-			struct stasis_cache_entry *sub;
-
-			ao2_wrlock(caching_topic->cache->entries);
-			sub = cache_find(caching_topic->cache->entries, stasis_subscription_change_type(), change->uniqueid);
-			if (sub) {
-				cache_remove(caching_topic->cache->entries, sub, stasis_message_eid(message));
-				ao2_cleanup(sub);
-			}
-			ao2_unlock(caching_topic->cache->entries);
-			ao2_cleanup(caching_topic_needs_unref);
-			return;
-		}
-		msg_put = message;
-		msg = message;
+		ao2_cleanup(caching_topic_needs_unref);
+		return;
 	} else if (stasis_cache_clear_type() == msg_type) {
 		/* Cache clear event. */
 		msg_put = NULL;