diff --git a/src/vnet/session/application_interface.c b/src/vnet/session/application_interface.c
index 8dbc3a1..7e7449a 100644
--- a/src/vnet/session/application_interface.c
+++ b/src/vnet/session/application_interface.c
@@ -92,9 +92,7 @@
       return VNET_API_ERROR_APPLICATION_NOT_ATTACHED;
     }
 
-  listener = stream_session_lookup_listener (&tep->ip,
-					     clib_host_to_net_u16 (tep->port),
-					     sst);
+  listener = stream_session_lookup_listener (&tep->ip, tep->port, sst);
   if (listener)
     return VNET_API_ERROR_ADDRESS_IN_USE;
 
@@ -131,9 +129,7 @@
   /*
    * Figure out if connecting to a local server
    */
-  listener = stream_session_lookup_listener (&tep->ip,
-					     clib_host_to_net_u16 (tep->port),
-					     sst);
+  listener = stream_session_lookup_listener (&tep->ip, tep->port, sst);
   if (listener)
     {
       server = application_get (listener->app_index);
@@ -181,6 +177,7 @@
 		&tep->port))
     {
       *sst = SESSION_TYPE_IP4_TCP;
+      tep->port = clib_host_to_net_u16 (tep->port);
       tep->is_ip4 = 1;
       return 1;
     }
@@ -188,6 +185,7 @@
 		&tep->port))
     {
       *sst = SESSION_TYPE_IP4_UDP;
+      tep->port = clib_host_to_net_u16 (tep->port);
       tep->is_ip4 = 1;
       return 1;
     }
@@ -195,12 +193,14 @@
 		&tep->port))
     {
       *sst = SESSION_TYPE_IP6_UDP;
+      tep->port = clib_host_to_net_u16 (tep->port);
       return 1;
     }
   if (unformat (input, "tcp://%U/%d", unformat_ip6_address, &tep->ip.ip6,
 		&tep->port))
     {
       *sst = SESSION_TYPE_IP6_TCP;
+      tep->port = clib_host_to_net_u16 (tep->port);
       return 1;
     }
 
diff --git a/src/vnet/session/transport.h b/src/vnet/session/transport.h
index e56be33..e2c4794 100644
--- a/src/vnet/session/transport.h
+++ b/src/vnet/session/transport.h
@@ -78,7 +78,7 @@
 typedef struct _transport_endpoint
 {
   ip46_address_t ip;	/** ip address */
-  u16 port;		/** port in host order */
+  u16 port;		/** port in net order */
   u8 is_ip4;		/** 1 if ip4 */
   u32 vrf;		/** fib table the endpoint is associated with */
 } transport_endpoint_t;
