diff --git a/src/plugins/vmxnet3/format.c b/src/plugins/vmxnet3/format.c
index 8e39b5f..d463feb 100644
--- a/src/plugins/vmxnet3/format.c
+++ b/src/plugins/vmxnet3/format.c
@@ -164,7 +164,7 @@
   s = format (s, "vmxnet3: %v (%d) next-node %U",
 	      hi->name, t->hw_if_index, format_vlib_next_node_name, vm,
 	      node->index, t->next_index);
-  s = format (s, "\n  buffer %U", format_vlib_buffer, &t->buffer);
+  s = format (s, "\n  buffer %U", format_vnet_buffer, &t->buffer);
 
   return s;
 }
diff --git a/src/vlib/buffer.c b/src/vlib/buffer.c
index 9838e23..43b1dd6 100644
--- a/src/vlib/buffer.c
+++ b/src/vlib/buffer.c
@@ -92,7 +92,7 @@
 }
 
 u8 *
-format_vlib_buffer (u8 * s, va_list * args)
+format_vlib_buffer_no_chain (u8 * s, va_list * args)
 {
   vlib_buffer_t *b = va_arg (*args, vlib_buffer_t *);
   u32 indent = format_get_indent (s);
@@ -118,9 +118,20 @@
     s = format (s, "\n%U%v", format_white_space, indent, a);
   vec_free (a);
 
+  return s;
+}
+
+u8 *
+format_vlib_buffer (u8 * s, va_list * args)
+{
+  vlib_main_t *vm = vlib_get_main ();
+  vlib_buffer_t *b = va_arg (*args, vlib_buffer_t *);
+  u32 indent = format_get_indent (s);
+
+  s = format (s, "%U", format_vlib_buffer_no_chain, b);
+
   while (b->flags & VLIB_BUFFER_NEXT_PRESENT)
     {
-      vlib_main_t *vm = vlib_get_main ();
       u32 next_buffer = b->next_buffer;
       b = vlib_get_buffer (vm, next_buffer);
 
diff --git a/src/vlib/buffer.h b/src/vlib/buffer.h
index c2ca821..8ca198d 100644
--- a/src/vlib/buffer.h
+++ b/src/vlib/buffer.h
@@ -72,7 +72,7 @@
  */
 #define foreach_vlib_buffer_flag \
   _( 0, IS_TRACED, 0)					\
-  _( 1, NEXT_PRESENT, 0)				\
+  _( 1, NEXT_PRESENT, "next-present")			\
   _( 2, TOTAL_LENGTH_VALID, 0)				\
   _( 3, EXT_HDR_VALID, "ext-hdr-valid")
 
diff --git a/src/vlib/buffer_funcs.h b/src/vlib/buffer_funcs.h
index 2ba9f1c..cfb4834 100644
--- a/src/vlib/buffer_funcs.h
+++ b/src/vlib/buffer_funcs.h
@@ -1332,7 +1332,7 @@
 void vlib_buffer_chain_validate (vlib_main_t * vm, vlib_buffer_t * first);
 
 format_function_t format_vlib_buffer, format_vlib_buffer_and_data,
-  format_vlib_buffer_contents;
+  format_vlib_buffer_contents, format_vlib_buffer_no_chain;
 
 typedef struct
 {
diff --git a/src/vnet/buffer.c b/src/vnet/buffer.c
index cf61780..3cb6b94 100644
--- a/src/vnet/buffer.c
+++ b/src/vnet/buffer.c
@@ -45,7 +45,7 @@
   if (b->flags & VNET_BUFFER_F_LOOP_COUNTER_VALID)
     a = format (a, "loop-counter %d ", vnet_buffer2 (b)->loop_counter);
 
-  s = format (s, "%U", format_vlib_buffer, b);
+  s = format (s, "%U", format_vlib_buffer_no_chain, b);
   if (a)
     s = format (s, "\n%U%v", format_white_space, indent, a);
   vec_free (a);
