diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index be074be..60d66be 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -73,7 +73,11 @@
 #undef vl_endianfun
 
 /* instantiate all the print functions we know about */
+#if VPP_API_TEST_BUILTIN == 0
 #define vl_print(handle, ...)
+#else
+#define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__)
+#endif
 #define vl_printfun
 #include <vpp/api/vpe_all_api_h.h>
 #undef vl_printfun
diff --git a/src/vlibapi/api_shared.c b/src/vlibapi/api_shared.c
index cee9cd5..77a18c9 100644
--- a/src/vlibapi/api_shared.c
+++ b/src/vlibapi/api_shared.c
@@ -97,7 +97,9 @@
       old_trace = tp->traces + tp->curindex++;
       if (tp->curindex == tp->nitems)
 	tp->curindex = 0;
-      vec_free (*old_trace);
+      /* Reuse the trace record, may save some memory allocator traffic */
+      msg_copy = *old_trace;
+      vec_reset_length (msg_copy);
       this_trace = old_trace;
     }
 
diff --git a/src/vlibmemory/vlib_api_cli.c b/src/vlibmemory/vlib_api_cli.c
index 4a86b8d..b5fe151 100755
--- a/src/vlibmemory/vlib_api_cli.c
+++ b/src/vlibmemory/vlib_api_cli.c
@@ -664,7 +664,8 @@
   u32 nitems = 256 << 10;
   api_main_t *am = &api_main;
   vl_api_trace_which_t which = VL_API_TRACE_RX;
-  u8 *filename;
+  u8 *filename = 0;
+  u8 *chroot_filename = 0;
   u32 first = 0;
   u32 last = (u32) ~ 0;
   FILE *fp;
@@ -685,13 +686,12 @@
 	}
       else if (unformat (input, "save %s", &filename))
 	{
-	  u8 *chroot_filename;
 	  if (strstr ((char *) filename, "..")
 	      || index ((char *) filename, '/'))
 	    {
 	      vlib_cli_output (vm, "illegal characters in filename '%s'",
 			       filename);
-	      return 0;
+	      goto out;
 	    }
 
 	  chroot_filename = format (0, "/tmp/%s%c", filename, 0);
@@ -702,7 +702,7 @@
 	  if (fp == NULL)
 	    {
 	      vlib_cli_output (vm, "Couldn't create %s\n", chroot_filename);
-	      return 0;
+	      goto out;
 	    }
 	  rv = vl_msg_api_trace_save (am, which, fp);
 	  fclose (fp);
@@ -724,7 +724,7 @@
 	    vlib_cli_output (vm, "Unknown error while saving: %d", rv);
 	  else
 	    vlib_cli_output (vm, "API trace saved to %s\n", chroot_filename);
-	  vec_free (chroot_filename);
+	  goto out;
 	}
       else if (unformat (input, "dump %s", &filename))
 	{
@@ -772,6 +772,9 @@
 	return clib_error_return (0, "unknown input `%U'",
 				  format_unformat_error, input);
     }
+out:
+  vec_free (filename);
+  vec_free (chroot_filename);
   return 0;
 }
 
