diff --git a/main/dial.c b/main/dial.c
index 688382fb86916e507a9c5a440864a94524eae16d..95f709e68a7e8d9de279570b29489fbd404cd8cb 100644
--- a/main/dial.c
+++ b/main/dial.c
@@ -426,6 +426,7 @@ static void handle_frame(struct ast_dial *dial, struct ast_dial_channel *channel
 			if (option_verbose > 2)
 				ast_verbose (VERBOSE_PREFIX_3 "%s requested a source update, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_SRCUPDATE);
+			break;
 		case AST_CONTROL_PROCEEDING:
 			ast_verb(3, "%s is proceeding, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_PROCEEDING);