What if you put a small wait statement between the completion of the dialog box and before the execution of the ActiveX object. Give the CPU a few milliseconds to clean up the screen. I'm thinking that since the activeX is executing in the UI thread, and it's happening immediately after the dialog box is okayed, the CPU cycles are eaten up the the ActiveX object and not allowing the CPU to redraw the screen. Kind of like what happens in fast running while loops when there is no wait statement. The mouse will stutter because the CPU is starved of cycles to take care of screen updates.