diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c
index 138fe57..4178a49 100644
--- a/src/vnet/udp/udp.c
+++ b/src/vnet/udp/udp.c
@@ -380,7 +380,7 @@
   .format_connection = format_udp_session,
   .format_half_open = format_udp_half_open_session,
   .format_listener = format_udp_listener_session,
-  .tx_type = TRANSPORT_TX_DEQUEUE,
+  .tx_type = TRANSPORT_TX_DGRAM,
   .service_type = TRANSPORT_SERVICE_CL,
 };
 /* *INDENT-ON* */
diff --git a/src/vnet/udp/udp_input.c b/src/vnet/udp/udp_input.c
index 52c29d7..591dc53 100644
--- a/src/vnet/udp/udp_input.c
+++ b/src/vnet/udp/udp_input.c
@@ -227,45 +227,30 @@
 	      goto trace0;
 	    }
 
-	  if (!uc0->is_connected)
-	    {
-	      if (svm_fifo_max_enqueue_prod (s0->rx_fifo)
-		  < b0->current_length + sizeof (session_dgram_hdr_t))
-		{
-		  error0 = UDP_ERROR_FIFO_FULL;
-		  goto trace0;
-		}
-	      hdr0.data_length = b0->current_length;
-	      hdr0.data_offset = 0;
-	      ip_set (&hdr0.lcl_ip, lcl_addr, is_ip4);
-	      ip_set (&hdr0.rmt_ip, rmt_addr, is_ip4);
-	      hdr0.lcl_port = udp0->dst_port;
-	      hdr0.rmt_port = udp0->src_port;
-	      hdr0.is_ip4 = is_ip4;
 
-	      clib_spinlock_lock (&uc0->rx_lock);
-	      wrote0 = session_enqueue_dgram_connection (s0, &hdr0, b0,
-							 TRANSPORT_PROTO_UDP,
-							 1 /* queue evt */ );
-	      clib_spinlock_unlock (&uc0->rx_lock);
-	      ASSERT (wrote0 > 0);
-
-	      if (s0->session_state != SESSION_STATE_LISTENING)
-		session_pool_remove_peeker (s0->thread_index);
-	    }
-	  else
+	  if (svm_fifo_max_enqueue_prod (s0->rx_fifo)
+	      < b0->current_length + sizeof (session_dgram_hdr_t))
 	    {
-	      if (svm_fifo_max_enqueue_prod (s0->rx_fifo) <
-		  b0->current_length)
-		{
-		  error0 = UDP_ERROR_FIFO_FULL;
-		  goto trace0;
-		}
-	      wrote0 = session_enqueue_stream_connection (tc0, b0, 0,
-							  1 /* queue evt */ ,
-							  1 /* in order */ );
-	      ASSERT (wrote0 > 0);
+	      error0 = UDP_ERROR_FIFO_FULL;
+	      goto trace0;
 	    }
+	  hdr0.data_length = b0->current_length;
+	  hdr0.data_offset = 0;
+	  ip_set (&hdr0.lcl_ip, lcl_addr, is_ip4);
+	  ip_set (&hdr0.rmt_ip, rmt_addr, is_ip4);
+	  hdr0.lcl_port = udp0->dst_port;
+	  hdr0.rmt_port = udp0->src_port;
+	  hdr0.is_ip4 = is_ip4;
+
+	  clib_spinlock_lock (&uc0->rx_lock);
+	  wrote0 = session_enqueue_dgram_connection (s0, &hdr0, b0,
+						     TRANSPORT_PROTO_UDP,
+						     1 /* queue evt */ );
+	  clib_spinlock_unlock (&uc0->rx_lock);
+	  ASSERT (wrote0 > 0);
+
+	  if (s0->session_state != SESSION_STATE_LISTENING)
+	    session_pool_remove_peeker (s0->thread_index);
 
 	trace0:
 
