Index: twisted/internet/wxreactor.py
===================================================================
--- twisted/internet/wxreactor.py	(revision 30649)
+++ twisted/internet/wxreactor.py	(working copy)
@@ -72,6 +72,7 @@
         """
         self.wxapp = wxapp
 
+
     def _installSignalHandlersAgain(self):
         """
         wx sometimes removes our own signal handlers, so re-add them.
@@ -84,6 +85,7 @@
             return
         self._handleSignals()
 
+
     def stop(self):
         """
         Stop the reactor.
@@ -91,8 +93,9 @@
         if self._stopping:
             return
         self._stopping = True
-        _threadedselect.ThreadedSelectReactor.stop(self)
+        self.callFromThread(_threadedselect.ThreadedSelectReactor.stop, self)
 
+
     def _runInMainThread(self, f):
         """
         Schedule function to run in main wx/Twisted thread.
@@ -105,6 +108,7 @@
             # wx shutdown but twisted hasn't
             self._postQueue.put(f)
 
+
     def _stopWx(self):
         """
         Stop the wx event loop if it hasn't already been stopped.
@@ -114,6 +118,7 @@
         if hasattr(self, "wxapp"):
             self.wxapp.ExitMainLoop()
 
+
     def run(self, installSignalHandlers=True):
         """
         Start the reactor.
