What’s happening is a side effect of how normal hotspots work. A standard hotspot defined by the “x” command specifies a touch-active area. When the area is touched, the screen is reverse imaged (foreground becomes background and vice versa) to provide visual feedback of the touch. When the button invokes a macro that redraws the screen, the screen is drawn while the button is pushed and the foreground/background colors are reversed. Then when the button is released, the hotspot is reversed even though the underlying image has changed. The solution is to use the “xs” command that does not change the screen when the defined hotspot is touched. Either the new screen will provide visual feedback, or the macro can do its own reverse imaging.