diff --git a/funcs/func_talkdetect.c b/funcs/func_talkdetect.c
index f127fa3d711266bcf0e9478cce54c9d888010bda..ccc74fd7f1fcc664810b8ec3a914e82b1bec06e4 100644
--- a/funcs/func_talkdetect.c
+++ b/funcs/func_talkdetect.c
@@ -218,6 +218,7 @@ static int talk_detect_audiohook_cb(struct ast_audiohook *audiohook, struct ast_
 		                blob);
 		if (message) {
 			stasis_publish(ast_channel_topic(chan), message);
+			ao2_ref(message, -1);
 		}
 
 		ast_json_unref(blob);