diff --git a/main/xmldoc.c b/main/xmldoc.c
index 3a68b6cabe9f03e4b31fcb32bc0b595662a80e93..4855d2cbfc70d602c8649b002764d276e3b5519e 100644
--- a/main/xmldoc.c
+++ b/main/xmldoc.c
@@ -866,8 +866,8 @@ static char *xmldoc_get_syntax_cmd(struct ast_xml_node *fixnode, const char *nam
 {
 	struct ast_str *syntax;
 	struct ast_xml_node *tmpnode, *node = fixnode;
-	char *ret;
-	const char *paramname, *paramtype, *attrname, *literal;
+	char *ret, *paramname;
+	const char *paramtype, *attrname, *literal;
 	int required, isenum, first = 1, isliteral;
 
 	syntax = ast_str_create(128);
@@ -941,7 +941,7 @@ static char *xmldoc_get_syntax_cmd(struct ast_xml_node *fixnode, const char *nam
 				(isenum || isliteral ? "" : ">"),
 				(required ? "" : "]"));
 		first = 0;
-		ast_xml_free_attr(paramname);
+		ast_free(paramname);
 	}
 
 	/* return a common string. */