diff --git a/main/pbx.c b/main/pbx.c
index af3090cdf16d27fb0ac0fb9552e1207c5daf6c85..4fff74b10fb4a6ab5f8ee4f13bdc3574c21dacdd 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -3188,6 +3188,8 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con,
 			return pbx_exec(c, app, passdata);	/* 0 on success, -1 on failure */
 		}
 	} else if (q.swo) {	/* not found here, but in another switch */
+		if (found)
+			*found = 1;
 		ast_unlock_contexts();
 		if (matching_action) {
 			return -1;