diff --git a/VERSION b/VERSION
index f5c2a40..cd33751 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.6.14
+3.6.15
diff --git a/rw_core/core/device/agent.go b/rw_core/core/device/agent.go
index 6755a5f..bdba7f7 100755
--- a/rw_core/core/device/agent.go
+++ b/rw_core/core/device/agent.go
@@ -723,6 +723,7 @@
 	defer func() { agent.logDeviceUpdate(ctx, nil, nil, requestStatus, err, desc) }()
 
 	if err = agent.requestQueue.WaitForGreenLight(ctx); err != nil {
+		logger.Errorw(ctx, "can't obtain device agent lock during delete device", log.Fields{"device-id": agent.deviceID, "error": err})
 		desc = err.Error()
 		return err
 	}
diff --git a/rw_core/core/device/manager_nbi.go b/rw_core/core/device/manager_nbi.go
index 95cc648..92071d6 100644
--- a/rw_core/core/device/manager_nbi.go
+++ b/rw_core/core/device/manager_nbi.go
@@ -109,12 +109,31 @@
 	ctx = utils.WithRPCMetadataContext(ctx, "DeleteDevice")
 	log.EnrichSpan(ctx, log.Fields{"device-id": id.Id})
 
-	logger.Info(ctx, "delete-device", log.Fields{"device-id": id.Id})
+	logger.Infow(ctx, "delete-device", log.Fields{"device-id": id.Id})
 	agent := dMgr.getDeviceAgent(ctx, id.Id)
 	if agent == nil {
 		return nil, status.Errorf(codes.NotFound, "%s", id.Id)
 	}
-	return &empty.Empty{}, agent.deleteDevice(ctx)
+	if err := agent.deleteDevice(ctx); err != nil {
+		if statusErr, ok := status.FromError(err); ok {
+			switch statusErr.Code() {
+			case codes.NotFound:
+				logger.Warnw(ctx, "The device handler/device  entry is not found , further clean up ", log.Fields{"device-id": id.Id, "Error": err})
+				return &empty.Empty{}, nil
+			case codes.Unavailable:
+				logger.Errorw(ctx, "Failed to delete device", log.Fields{"device-id": id.Id, "Error": err})
+				return nil, err
+			case codes.Internal:
+				logger.Errorw(ctx, "Failed to delete device due to an Internal error at Adapter ", log.Fields{"device-id": id.Id, "Error": err})
+				return nil, err
+			default:
+				logger.Errorw(ctx, "Unexpected error", log.Fields{"device-id": id.Id, "Error": err})
+				return nil, err
+			}
+		}
+
+	}
+	return &empty.Empty{}, nil
 }
 
 // ForceDeleteDevice removes a device from the data model forcefully without successfully waiting for the adapters.
