There is indeed an issue as Windows creates a new thread to handle this event. Even if we add a check to see if this was an Eiffel created thread or not, it does not solve the issue on what should be done. Several outcomes are possible: 1 - kill the application without raising an exception. 2 - do nothing but prints out some message in the console. 3 - find a way to throw an exception in one of the running Eiffel thread, most likely the main thread of the application. We can easily do 1 & 2. As for 3, last time I checked I could not make this work properly, but I'll have a second look.