diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index 9358d8a..7e401aa 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -328,7 +328,13 @@
 	defer cancel()
 	var desc string
 	operStatus := &common.OperationResp{Code: common.OperationResp_OPERATION_FAILURE}
-	defer agent.logDeviceUpdate(ctx, rpc, prevState, &agent.device.AdminState, operStatus, &desc)
+	defer func() {
+		currAdminState := prevState
+		if d, _ := agent.getDeviceReadOnly(ctx); d != nil {
+			currAdminState = &d.AdminState
+		}
+		agent.logDeviceUpdate(ctx, rpc, prevState, currAdminState, operStatus, &desc)
+	}()
 	var rpce *voltha.RPCEvent
 	defer func() {
 		if rpce != nil {
@@ -383,7 +389,6 @@
 // enableDevice activates a preprovisioned or a disable device
 func (agent *Agent) enableDevice(ctx context.Context) error {
 	//To preserve and use oldDevice state as prev state in new device
-	prevDeviceState := agent.device.AdminState
 	var desc string
 	operStatus := &common.OperationResp{Code: common.OperationResp_OPERATION_FAILURE}
 
@@ -394,6 +399,8 @@
 	}
 	logger.Debugw(ctx, "enable-device", log.Fields{"device-id": agent.deviceID})
 
+	prevDeviceState := agent.device.AdminState
+
 	oldDevice := agent.getDeviceReadOnlyWithoutLock()
 
 	if oldDevice.AdminState == voltha.AdminState_ENABLED {
diff --git a/rw_core/core/device/agent_device_update.go b/rw_core/core/device/agent_device_update.go
index 9e5013a..621e720 100644
--- a/rw_core/core/device/agent_device_update.go
+++ b/rw_core/core/device/agent_device_update.go
@@ -39,9 +39,8 @@
 }
 
 func (agent *Agent) stateChangeString(prevState *common.AdminState_Types, currState *common.AdminState_Types) string {
-	device := agent.getDeviceReadOnlyWithoutLock()
 	if prevState != nil && currState != nil && *prevState != *currState {
-		return fmt.Sprintf("%s->%s", *prevState, device.AdminState)
+		return fmt.Sprintf("%s->%s", *prevState, *currState)
 	}
 	return ""
 }
diff --git a/rw_core/core/device/remote/adapter_proxy.go b/rw_core/core/device/remote/adapter_proxy.go
index ce4cf49..aba551e 100755
--- a/rw_core/core/device/remote/adapter_proxy.go
+++ b/rw_core/core/device/remote/adapter_proxy.go
@@ -30,18 +30,16 @@
 // AdapterProxy represents adapter proxy attributes
 type AdapterProxy struct {
 	kafka.EndpointManager
-	deviceTopicRegistered bool
-	coreTopic             string
-	kafkaICProxy          kafka.InterContainerProxy
+	coreTopic    string
+	kafkaICProxy kafka.InterContainerProxy
 }
 
 // NewAdapterProxy will return adapter proxy instance
 func NewAdapterProxy(kafkaProxy kafka.InterContainerProxy, coreTopic string, endpointManager kafka.EndpointManager) *AdapterProxy {
 	return &AdapterProxy{
-		EndpointManager:       endpointManager,
-		kafkaICProxy:          kafkaProxy,
-		coreTopic:             coreTopic,
-		deviceTopicRegistered: false,
+		EndpointManager: endpointManager,
+		kafkaICProxy:    kafkaProxy,
+		coreTopic:       coreTopic,
 	}
 }
 
@@ -87,7 +85,6 @@
 		{Key: "device", Value: device},
 	}
 	replyToTopic := ap.getCoreTopic()
-	ap.deviceTopicRegistered = true
 	logger.Debugw(ctx, "adoptDevice-send-request", log.Fields{"device-id": device.Id, "deviceType": device.Type, "serialNumber": device.SerialNumber})
 	return ap.sendRPC(ctx, rpc, toTopic, &replyToTopic, true, device.Id, args...)
 }
@@ -362,7 +359,6 @@
 		{Key: "request", Value: simulateReq},
 	}
 	replyToTopic := ap.getCoreTopic()
-	ap.deviceTopicRegistered = true
 	return ap.sendRPC(ctx, rpc, toTopic, &replyToTopic, true, device.Id, args...)
 }
 
