diff --git a/apps/app_macro.c b/apps/app_macro.c
index 42c6cf658c5b4870d2cf6fabb5f46fa758fe97c2..636daaa95a33a1957b7860a39787edf1b63edc5a 100644
--- a/apps/app_macro.c
+++ b/apps/app_macro.c
@@ -188,7 +188,7 @@ static int macro_exec(struct ast_channel *chan, void *data)
   		snprintf(varname, sizeof(varname), "ARG%d", argc);
 		s = pbx_builtin_getvar_helper(chan, varname);
 		if (s)
-			oldargs[argc] = strdup(s);
+			oldargs[argc] = ast_strdup(s);
 		pbx_builtin_setvar_helper(chan, varname, cur);
 		argc++;
 	}