diff --git a/main/channel.c b/main/channel.c
index be396f8a15bc13137caba5dc1a905f50259a5144..657b0535352f2275714fbc8ee5d57eed060ec4d9 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -5357,7 +5357,7 @@ int ast_do_masquerade(struct ast_channel *original)
 	/* XXX What about blocking, softhangup, blocker, and lock and blockproc? XXX */
 	/* Application and data remain the same */
 	/* Clone exception  becomes real one, as with fdno */
-	ast_copy_flags(original, clonechan, AST_FLAG_EXCEPTION | AST_FLAG_OUTGOING);
+	ast_set_flag(original, ast_test_flag(clonechan, AST_FLAG_EXCEPTION | AST_FLAG_OUTGOING));
 	original->fdno = clonechan->fdno;
 	/* Schedule context remains the same */
 	/* Stream stuff stays the same */