local llReturn, loObject local array laMouseObj[1] amouseobj(laMouseObj,1) && object under mouse loObject = laMouseObj[1,1] if vartype(m.loObject) = "O" llReturn = thisform.releasetype = 1 or ; (inlist(lower(justext(sys(1272, m.loObject))),"abortbutton", "cmdclose", "cmdcancel") ; and mdown()) && We're checking for Release type and Close/Cancel button else llReturn = thisform.releasetype = 1 endif return m.llReturnThis method is called from grid's BeforeRowColChange and Valid methods. Also, I found if I gave this button a different name, say, cmdAbort, it works. As soon as I name it 'cmdCancel' it stops working. Do you know what may cause this behavior? I also verified, that it doesn't work if I name this button AbortButton, so this method CancelValidation is somehow a culprit, but I don't understand how.