diff --git a/channels/chan_features.c b/channels/chan_features.c
index 83e6e4ae590d04d47cde93f541e6045a5752bb49..3c1285c27b4b9f932b9eaa657e09ac43174a9cb5 100644
--- a/channels/chan_features.c
+++ b/channels/chan_features.c
@@ -462,7 +462,7 @@ static struct ast_channel *features_new(struct feature_pvt *p, int state, int in
 	for (x=1;x<4;x++) {
 		if (b2)
 			free(b2);
-		b2 = ast_safe_string_alloc("Feature/%s/%s-%d", p->tech, p->dest, x);
+		asprintf(&b2, "Feature/%s/%s-%d", p->tech, p->dest, x);
 		for (y=0;y<3;y++) {
 			if (y == index)
 				continue;