diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/codec/TinaFlowInfoByteBufferCodec.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/codec/TinaFlowInfoByteBufferCodec.java
index 8b28797..73258ac 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/codec/TinaFlowInfoByteBufferCodec.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/codec/TinaFlowInfoByteBufferCodec.java
@@ -41,11 +41,21 @@
     public ByteBuffer encode(FlowInfo flowInfo) {
 
         ByteBuffer byteBuffer = ByteBuffer.allocate(MESSAGE_SIZE);
+        int srcPort = 0;
+        int dstPort = 0;
 
         String  deviceId = flowInfo.deviceId().toString();
         short switchId = (short) Integer.parseInt(deviceId.substring(3,
                                                   deviceId.length()), 16);
 
+        if (flowInfo.srcPort() != null) {
+            srcPort = flowInfo.srcPort().toInt();
+        }
+
+        if (flowInfo.dstPort() != null) {
+            dstPort = flowInfo.dstPort().toInt();
+        }
+
         byteBuffer.put(flowInfo.flowType())
                 .putShort(switchId)
                 .putInt(flowInfo.inputInterfaceId())
@@ -53,10 +63,10 @@
                 .putShort(flowInfo.vlanId().toShort())
                 .put(flowInfo.srcIp().address().toOctets())
                 .put((byte) flowInfo.srcIp().prefixLength())
-                .putShort((short) flowInfo.srcPort().toInt())
+                .putShort((short) srcPort)
                 .put(flowInfo.dstIp().address().toOctets())
                 .put((byte) flowInfo.dstIp().prefixLength())
-                .putShort((short) flowInfo.dstPort().toInt())
+                .putShort((short) dstPort)
                 .put(flowInfo.protocol())
                 .put(flowInfo.srcMac().toBytes())
                 .put(flowInfo.dstMac().toBytes());
