I'm guessing here, but could it be that at some point in closing the window/dialog (which was opened by clicking the button) a mouse_enter message is getting set to the button, but since the mouse is not *actually* over the button, it never gets a mouse_leave message? Have you tried working the GotFocus and LostFocus events into your overall logic? -- modified at 16:06 Wednesday 4th October, 2006