diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 751cd96d5630ab177bdd1b4dec51c25262b61d3f..3d929490caffc96c78a55157c9016c8c2f86abd7 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -4302,6 +4302,8 @@ static void *ss_thread(void *data)
 					swap_subs(p, SUB_REAL, SUB_THREEWAY);
 					unalloc_sub(p, SUB_THREEWAY);
 					p->owner = p->subs[SUB_REAL].owner;
+					if (p->subs[SUB_REAL].owner->bridge)
+						ast_moh_stop(p->subs[SUB_REAL].owner->bridge);
 					ast_hangup(chan);
 					return NULL;
 				} else {