diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index aecfeb0d0f4660cdbc8670e4a7433f94ac00b14a..6040be1c68f06a857f5184be5905ff7d4b0a78bb 100755
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -513,6 +513,7 @@ static int moh0_exec(struct ast_channel *chan, void *data)
 		return -1;
 	}
 	while(!ast_safe_sleep(chan, 10000));
+	ast_moh_stop(chan);
 	return -1;
 }