diff --git a/openbsc/src/vty_interface_cmds.c b/openbsc/src/vty_interface_cmds.c
index 9ca9a24..06eb2a5 100644
--- a/openbsc/src/vty_interface_cmds.c
+++ b/openbsc/src/vty_interface_cmds.c
@@ -39,23 +39,6 @@
 		vty_out(vty, "\r");
 }
 
-struct buffer *vty_argv_to_buffer(int argc, const char *argv[], int base)
-{
-	struct buffer *b = buffer_new(NULL, 1024);
-	int i;
-
-	if (!b)
-		return NULL;
-
-	for (i = base; i < argc; i++) {
-		buffer_putstr(b, argv[i]);
-		buffer_putc(b, ' ');
-	}
-	buffer_putc(b, '\0');
-
-	return b;
-}
-
 struct log_target *log_target_create_vty(struct vty *vty)
 {
 	struct log_target *target;
@@ -410,24 +393,16 @@
 	"Save human-readable decription of the object\n")
 {
 	char **dptr = vty->index_sub;
-	struct buffer *b;
 
 	if (!dptr) {
 		vty_out(vty, "vty->index_sub == NULL%s", VTY_NEWLINE);
 		return CMD_WARNING;
 	}
 
-	b = vty_argv_to_buffer(argc, argv, 0);
-	if (!b)
+	*dptr = argv_concat(argv, argc, 0);
+	if (!dptr)
 		return CMD_WARNING;
 
-	if (*dptr)
-		talloc_free(*dptr);
-
-	*dptr = talloc_strdup(NULL, buffer_getstr(b));
-
-	buffer_free(b);
-
 	return CMD_SUCCESS;
 }
 
