diff --git a/main/dial.c b/main/dial.c
index 95f709e68a7e8d9de279570b29489fbd404cd8cb..ae6ea55fc3ad4353d80690972dea13a6cfddb5f4 100644
--- a/main/dial.c
+++ b/main/dial.c
@@ -317,6 +317,7 @@ static int begin_dial(struct ast_dial *dial, struct ast_channel *chan)
 	AST_LIST_TRAVERSE(&dial->channels, channel, list) {
 		success += begin_dial_channel(channel, chan);
 	}
+	AST_LIST_UNLOCK(&dial->channels);
 
 	/* If number of failures matches the number of channels, then this truly failed */
 	return success;