diff --git a/rw_core/core/device_agent.go b/rw_core/core/device_agent.go
index af717ef..b321f22 100644
--- a/rw_core/core/device_agent.go
+++ b/rw_core/core/device_agent.go
@@ -140,7 +140,7 @@
 // getDeviceWithoutLock is a helper function to be used ONLY by any device agent function AFTER it has acquired the device lock.
 // This function is meant so that we do not have duplicate code all over the device agent functions
 func (agent *DeviceAgent) getDeviceWithoutLock() (*voltha.Device, error) {
-	if device := agent.clusterDataProxy.Get("/devices/"+agent.deviceId, 0, false, ""); device != nil {
+	if device := agent.clusterDataProxy.Get("/devices/"+agent.deviceId, 0, true, ""); device != nil {
 		if d, ok := device.(*voltha.Device); ok {
 			cloned := proto.Clone(d).(*voltha.Device)
 			return cloned, nil
diff --git a/rw_core/core/transaction.go b/rw_core/core/transaction.go
index 397299e..e7125d3 100644
--- a/rw_core/core/transaction.go
+++ b/rw_core/core/transaction.go
@@ -178,7 +178,7 @@
 		// Add a timeout here in case we miss an event from the KV
 		case <-time.After(time.Duration(duration) * time.Millisecond):
 			// In case of missing events, let's check the transaction key
-			kvp, err := ctx.kvClient.Get(c.txnKey, ctx.kvOperationTimeout)
+			kvp, err := ctx.kvClient.Get(c.txnKey, ctx.kvOperationTimeout, false)
 			if err == nil && kvp == nil {
 				log.Debug("missed-deleted-event")
 				res = ABANDONED_BY_OTHER
@@ -228,16 +228,16 @@
 	log.Debugw("schedule-key-deletion", log.Fields{"key": c.txnKey})
 	time.Sleep(time.Duration(ctx.timeToDeleteCompletedKeys) * time.Second)
 	log.Debugw("background-key-deletion", log.Fields{"key": c.txnKey})
-	ctx.kvClient.Delete(c.txnKey, ctx.kvOperationTimeout)
+	ctx.kvClient.Delete(c.txnKey, ctx.kvOperationTimeout, false)
 }
 
 func (c *KVTransaction) Close() error {
 	log.Debugw("close", log.Fields{"key": c.txnKey})
-	return ctx.kvClient.Put(c.txnKey, TRANSACTION_COMPLETE, ctx.kvOperationTimeout)
+	return ctx.kvClient.Put(c.txnKey, TRANSACTION_COMPLETE, ctx.kvOperationTimeout, false)
 }
 
 func (c *KVTransaction) Delete() error {
 	log.Debugw("delete", log.Fields{"key": c.txnKey})
-	err := ctx.kvClient.Delete(c.txnKey, ctx.kvOperationTimeout)
+	err := ctx.kvClient.Delete(c.txnKey, ctx.kvOperationTimeout, false)
 	return err
 }
