diff --git a/bridges/bridge_softmix.c b/bridges/bridge_softmix.c
index f5f4c2b169595b6997a55ecc57c1c59f2c57723d..4d20b366accd3b28cb48855a0eafa9dd15c08cf9 100644
--- a/bridges/bridge_softmix.c
+++ b/bridges/bridge_softmix.c
@@ -328,14 +328,13 @@ static void set_softmix_bridge_data(int rate, int interval, struct ast_bridge_ch
 
 	/* Setup write frame parameters */
 	sc->write_frame.frametype = AST_FRAME_VOICE;
-	ao2_cleanup(sc->write_frame.subclass.format);
 	/*
-	 * NOTE: The format is bumped here because translation could
-	 * be needed and the format changed to the translated format
+	 * NOTE: The write_frame format holds a reference because translation
+	 * could be needed and the format changed to the translated format
 	 * for the channel.  The translated format may not be a
 	 * static cached format.
 	 */
-	sc->write_frame.subclass.format = ao2_bump(ast_format_cache_get_slin_by_rate(rate));
+	ao2_replace(sc->write_frame.subclass.format, ast_format_cache_get_slin_by_rate(rate));
 	sc->write_frame.data.ptr = sc->final_buf;
 	sc->write_frame.datalen = SOFTMIX_DATALEN(rate, interval);
 	sc->write_frame.samples = SOFTMIX_SAMPLES(rate, interval);
@@ -343,8 +342,8 @@ static void set_softmix_bridge_data(int rate, int interval, struct ast_bridge_ch
 	/* Setup read frame parameters */
 	sc->read_frame.frametype = AST_FRAME_VOICE;
 	/*
-	 * NOTE: The format is not bumbed here because it will always
-	 * be a signed linear format.
+	 * NOTE: The read_frame format does not hold a reference because it
+	 * will always be a signed linear format.
 	 */
 	sc->read_frame.subclass.format = ast_format_cache_get_slin_by_rate(channel_read_rate);
 	sc->read_frame.data.ptr = sc->our_buf;
@@ -725,7 +724,7 @@ static void gather_softmix_stats(struct softmix_stats *stats,
  * if necessary.
  *
  * \retval 0, no changes to internal rate
- * \ratval 1, internal rate was changed, update all the channels on the next mixing iteration.
+ * \retval 1, internal rate was changed, update all the channels on the next mixing iteration.
  */
 static unsigned int analyse_softmix_stats(struct softmix_stats *stats, struct softmix_bridge_data *softmix_data)
 {