diff --git a/ofagent/converter.py b/ofagent/converter.py
index 1bebc4f..78b48b5 100644
--- a/ofagent/converter.py
+++ b/ofagent/converter.py
@@ -208,8 +208,11 @@
                 actions=[make_loxi_action(a)
                          for a in inst['actions']['actions']])
         elif type == pb2.OFPIT_WRITE_METADATA:
-            return of13.instruction.write_metadata(
-                metadata=inst['write_metadata']['metadata'])
+            if 'metadata' in inst['write_metadata']:
+                return of13.instruction.write_metadata(
+                        metadata=inst['write_metadata']['metadata'])
+            else:
+                return of13.instruction.write_metadata(0)
         elif type == pb2.OFPIT_METER:
             return of13.instruction.meter(
                 meter_id=inst['meter']['meter_id'])
diff --git a/ofagent/grpc_client.py b/ofagent/grpc_client.py
index 018baa9..6e9765f 100644
--- a/ofagent/grpc_client.py
+++ b/ofagent/grpc_client.py
@@ -151,11 +151,13 @@
             packet_in = yield self.packet_in_queue.get()
             device_id = packet_in.id
             ofp_packet_in = packet_in.packet_in
+            self.log.debug('grpc client to send packet-in')
             self.connection_manager.forward_packet_in(device_id, ofp_packet_in)
             if self.stopped:
                 break
 
     def send_packet_out(self, device_id, packet_out):
+        self.log.debug('grpc client to send packet-out')
         packet_out = PacketOut(id=device_id, packet_out=packet_out)
         self.packet_out_queue.put(packet_out)
 
diff --git a/voltha/adapters/openolt/openolt_device.py b/voltha/adapters/openolt/openolt_device.py
index 50bc24b..53144a5 100644
--- a/voltha/adapters/openolt/openolt_device.py
+++ b/voltha/adapters/openolt/openolt_device.py
@@ -412,7 +412,7 @@
                                     omci_indication.pkt)
 
     def packet_indication(self, pkt_indication):
-        self.log.debug("packet indication",
+        self.log.debug("packet-indication",
                        intf_type=pkt_indication.intf_type,
                        intf_id=pkt_indication.intf_id,
                        port_no=pkt_indication.port_no,
