When we shut down our game, if the current level is using direct music, direct music will get shut down near the end of the game's exit sequence. This often causes a crash in the dmusicd.dll thread. What seems to be happening is that while that thread is sleeping, dmusicd.dll gets unloaded, so when it wakes up it gets an access violation (this is just from looking at the call stack for the thread before and after the crash). This doesn't happen in DX8. It also doesn't happen if we shut down direct music mid-game (which we do all the time since only some levels use direct music). Any ideas what can be done to avoid this? We're using the CMusicManager wrapper class, and passing NULL for the HWND for Initialization. Could that have anything to do with it? Any idea why this isn't a problem in DX8.1? Thanks. Aaron