diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index 84f765f..bc5fc1a 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -911,7 +911,7 @@
 	subCtx, cancel := context.WithTimeout(log.WithSpanFromContext(context.Background(), ctx), agent.defaultTimeout)
 	subCtx = coreutils.WithRPCMetadataFromContext(subCtx, ctx)
 
-	ch, err := agent.adapterProxy.ChildDeviceLost(ctx, agent.deviceType, agent.deviceID, device.ParentPortNo, device.ProxyAddress.OnuId)
+	ch, err := agent.adapterProxy.ChildDeviceLost(ctx, agent.deviceType, device)
 	if err != nil {
 		cancel()
 		return err
diff --git a/rw_core/core/device/remote/adapter_proxy.go b/rw_core/core/device/remote/adapter_proxy.go
index 66e7672..ce4cf49 100755
--- a/rw_core/core/device/remote/adapter_proxy.go
+++ b/rw_core/core/device/remote/adapter_proxy.go
@@ -397,20 +397,20 @@
 }
 
 // ChildDeviceLost invokes child device_lost rpc
-func (ap *AdapterProxy) ChildDeviceLost(ctx context.Context, deviceType string, deviceID string, pPortNo uint32, onuID uint32) (chan *kafka.RpcResponse, error) {
-	logger.Debugw(ctx, "ChildDeviceLost", log.Fields{"device-id": deviceID, "parent-port-no": pPortNo, "onu-id": onuID})
+func (ap *AdapterProxy) ChildDeviceLost(ctx context.Context, deviceType string, childDevice *voltha.Device) (chan *kafka.RpcResponse, error) {
+	logger.Debugw(ctx, "ChildDeviceLost",
+		log.Fields{"device-id": childDevice.ParentId, "parent-port-no": childDevice.ParentPortNo,
+			"onu-id": childDevice.ProxyAddress.OnuId, "serial-number": childDevice.SerialNumber})
 	rpc := "child_device_lost"
-	toTopic, err := ap.getAdapterTopic(ctx, deviceID, deviceType)
+	toTopic, err := ap.getAdapterTopic(ctx, childDevice.ParentId, deviceType)
 	if err != nil {
 		return nil, err
 	}
 	args := []*kafka.KVArg{
-		{Key: "pDeviceId", Value: &ic.StrType{Val: deviceID}},
-		{Key: "pPortNo", Value: &ic.IntType{Val: int64(pPortNo)}},
-		{Key: "onuID", Value: &ic.IntType{Val: int64(onuID)}},
+		{Key: "childDevice", Value: childDevice},
 	}
 	replyToTopic := ap.getCoreTopic()
-	return ap.sendRPC(ctx, rpc, toTopic, &replyToTopic, true, deviceID, args...)
+	return ap.sendRPC(ctx, rpc, toTopic, &replyToTopic, true, childDevice.ParentId, args...)
 }
 
 func (ap *AdapterProxy) StartOmciTest(ctx context.Context, device *voltha.Device, omcitestrequest *voltha.OmciTestRequest) (chan *kafka.RpcResponse, error) {
diff --git a/rw_core/mocks/adapter.go b/rw_core/mocks/adapter.go
index 6710087..79107c1 100644
--- a/rw_core/mocks/adapter.go
+++ b/rw_core/mocks/adapter.go
@@ -255,7 +255,7 @@
 }
 
 // Child_device_lost -
-func (ta *Adapter) Child_device_lost(ctx context.Context, pDeviceID string, pPortNo uint32, onuID uint32) error { //nolint
+func (ta *Adapter) Child_device_lost(ctx context.Context, childDevice *voltha.Device) error { //nolint
 	return nil
 }
 
diff --git a/rw_core/mocks/adapter_olt.go b/rw_core/mocks/adapter_olt.go
index f23df4d..e13e774 100644
--- a/rw_core/mocks/adapter_olt.go
+++ b/rw_core/mocks/adapter_olt.go
@@ -263,7 +263,7 @@
 }
 
 // Child_device_lost deletes ONU and its references
-func (oltA *OLTAdapter) Child_device_lost(ctx context.Context, deviceID string, pPortNo uint32, onuID uint32) error { // nolint
+func (oltA *OLTAdapter) Child_device_lost(ctx context.Context, childDevice *voltha.Device) error { // nolint
 	return nil
 }
 
