The application I am working on requires a custom COleDropSource in order to take specific actions when a file is dropped out of the main window of the application. When the drag & drop occurs, this action may take a few seconds so I show a wait cursor using a CWaitCursor. If an error occurs, I then display a message box showing the error. This is where the problem occurs. The wait cursor does not go away and the user cannot click on the OK button of the message box. In all other cases where I have a wait cursor followed by a message box, the cursor returns to normal. For some reason though, when the cursor is outside the application after doing a drag and drop, the cursor does not return to normal. Does anyone have an idea why this is happening? Thanks.