diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index afec8e4..03ba114 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,8 @@
 
 *Release date: XX-XXX-2005*
 
+- Improve subprocess link error notification.
+
 - run.py: use Queue's blocking feature instead of sleeping in the main
   loop.  Patch # 1190163 Michiel de Hoon
 
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index fecbf1a..fa348be 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -596,6 +596,8 @@
                 self.write("Unsupported characters in input")
                 return
         try:
+            # InteractiveInterpreter.runsource() calls its runcode() method,
+            # which is overridden (see below)
             return InteractiveInterpreter.runsource(self, source, filename)
         finally:
             if self.save_warnings_filters is not None:
@@ -720,6 +722,7 @@
                 else:
                     self.showtraceback()
             except:
+                print>>sys.stderr, "IDLE internal error in runcode()"
                 self.showtraceback()
         finally:
             if not use_subprocess:
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index 402cfa7..3bac6a3 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -330,9 +330,10 @@
             try:
                 r, w, x = select.select([], [self.sock], [])
                 n = self.sock.send(s[:BUFSIZE])
-            except (AttributeError, socket.error):
-                # socket was closed
-                raise IOError
+            except (AttributeError, TypeError):
+                raise IOError, "socket no longer exists"
+            except socket.error:
+                raise
             else:
                 s = s[n:]
 
