diff --git a/pbx.c b/pbx.c
index e353845e8a5f3ed24696097a96e4b392e24ae8a9..9f7187724799347abe18252089fb251e4ef5c46a 100755
--- a/pbx.c
+++ b/pbx.c
@@ -557,6 +557,7 @@ static void pbx_destroy(struct ast_pbx *p)
 	match=1;\
 	pattern++;\
 	while(match && *data && *pattern && (*pattern != '/')) {\
+		while (*data == '-' && (*(data+1) != '\0')) data++;\
 		switch(toupper(*pattern)) {\
 		case '[': \
 		{\