diff --git a/src/vnet/vxlan/vxlan.c b/src/vnet/vxlan/vxlan.c
index 8568d5b..484b7c2 100644
--- a/src/vnet/vxlan/vxlan.c
+++ b/src/vnet/vxlan/vxlan.c
@@ -82,6 +82,8 @@
   if (PREDICT_FALSE (t->decap_next_index != VXLAN_INPUT_NEXT_L2_INPUT))
     s = format (s, "decap-next-%U ", format_decap_next, t->decap_next_index);
 
+  s = format (s, "l3 %u ", t->is_l3);
+
   if (PREDICT_FALSE (ip46_address_is_multicast (&t->dst)))
     s = format (s, "mcast-sw-if-idx %d ", t->mcast_sw_if_index);
 
@@ -245,7 +247,8 @@
   _ (src)                                                                     \
   _ (dst)                                                                     \
   _ (src_port)                                                                \
-  _ (dst_port)
+  _ (dst_port)                                                                \
+  _ (is_l3)
 
 static void
 vxlan_rewrite (vxlan_tunnel_t * t, bool is_ip6)
@@ -448,7 +451,7 @@
       t->user_instance = user_instance; /* name */
       t->flow_index = ~0;
 
-      if (a->is_l3)
+      if (a->is_l3 == 0)
 	t->hw_if_index =
 	  vnet_register_interface (vnm, vxlan_device_class.index, dev_instance,
 				   vxlan_hw_class.index, dev_instance);
@@ -503,7 +506,7 @@
 
       if (add_failed)
 	{
-	  if (a->is_l3)
+	  if (a->is_l3 == 0)
 	    vnet_delete_hw_interface (vnm, t->hw_if_index);
 	  else
 	    ethernet_delete_interface (vnm, t->hw_if_index);
@@ -656,8 +659,7 @@
 	  mcast_shared_remove (&t->dst);
 	}
 
-      vnet_hw_interface_t *hw = vnet_get_hw_interface (vnm, t->hw_if_index);
-      if (hw->dev_class_index == vxlan_device_class.index)
+      if (t->is_l3 == 0)
 	vnet_delete_hw_interface (vnm, t->hw_if_index);
       else
 	ethernet_delete_interface (vnm, t->hw_if_index);
@@ -844,7 +846,6 @@
 
   vnet_vxlan_add_del_tunnel_args_t a = { .is_add = is_add,
 					 .is_ip6 = ipv6_set,
-					 .is_l3 = is_l3,
 					 .instance = instance,
 #define _(x) .x = x,
 					 foreach_copy_field
