True... but the API might contain something similar. I'd look around for a method called Invoke() on objects exposed by it. That mechanism isn't specific to Windows.Forms.Control, but to the System.ComponentModel.ISynchronizeInvoke interface, which is implemented by controls. Chances are that there is something similar available (there should be, if cross-thread calls are an issue). However... I don't seem to remember the "wrong execution context" error message from inadvertently doing cross-thread method invocations in Windows.Forms. This could be something completely different. If it has anything to do with a System.Threading.ExecutionContext, there is something seriously broken in AutoCAD or its API. In the code presented, the OnIPCMessage() method shouldn't care less about from which thread it is invoked, and even if it did, the ExecutionContext should be just fine (it gets copied when the managed thread is started). Or could it be that the code causing the problem isn't included in the post? Nite!
-- Peter