diff --git a/main/pbx.c b/main/pbx.c
index 27a586ef91001f6fbb034a5a9bb849bd2b450fc7..0b970bb136e6c59052856249f9047f74113c1040 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -10101,8 +10101,7 @@ static int pbx_outgoing_attempt(const char *type, struct ast_format_cap *cap, co
 
 	/* Wait for dialing to complete */
 	if (channel || synchronous) {
-		if (channel) {
-			ast_channel_ref(*channel);
+		if (channel && *channel) {
 			ast_channel_unlock(*channel);
 		}
 		while (!outgoing->dialed) {