diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index d6cb1e6..ff3aac8 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -764,7 +764,6 @@
 
 func startCollector(dh *DeviceHandler) {
 	logger.Debugf("starting-collector")
-	context := make(map[string]string)
 	freq := dh.metrics.ToPmConfigs().DefaultFreq
 	for {
 		select {
@@ -772,18 +771,16 @@
 			logger.Debugw("stopping-collector-for-olt", log.Fields{"deviceID:": dh.device.Id})
 			return
 		case <-time.After(time.Duration(freq) * time.Second):
-			context["oltid"] = dh.device.Id
-			context["devicetype"] = dh.device.Type
+
 			ports := make([]*voltha.Port, len(dh.device.Ports))
 			copy(ports, dh.device.Ports)
-
 			for _, port := range ports {
 				// NNI Stats
 				if port.Type == voltha.Port_ETHERNET_NNI {
 					intfID := PortNoToIntfID(port.PortNo, voltha.Port_ETHERNET_NNI)
 					cmnni := dh.portStats.collectNNIMetrics(intfID)
 					logger.Debugw("collect-nni-metrics", log.Fields{"metrics": cmnni})
-					go dh.portStats.publishMetrics(cmnni, port, context, dh.device.Id)
+					go dh.portStats.publishMetrics(cmnni, port, dh.device.Id, dh.device.Type)
 					logger.Debugw("publish-nni-metrics", log.Fields{"nni-port": port.Label})
 				}
 				// PON Stats
@@ -792,7 +789,7 @@
 					if val, ok := dh.activePorts.Load(intfID); ok && val == true {
 						cmpon := dh.portStats.collectPONMetrics(intfID)
 						logger.Debugw("collect-pon-metrics", log.Fields{"metrics": cmpon})
-						go dh.portStats.publishMetrics(cmpon, port, context, dh.device.Id)
+						go dh.portStats.publishMetrics(cmpon, port, dh.device.Id, dh.device.Type)
 					}
 					logger.Debugw("publish-pon-metrics", log.Fields{"pon-port": port.Label})
 				}
