diff -up openssh-5.8p2/mux.c.remove_stale openssh-5.8p2/mux.c
--- openssh-5.8p2/mux.c.remove_stale 2011-01-14 02:01:32.000000000 +0100
+++ openssh-5.8p2/mux.c 2011-06-09 15:27:42.556360291 +0200
@@ -1867,6 +1867,9 @@ muxclient(const char *path)
unlink(path);
} else if (errno == ENOENT) {
debug("Control socket \"%.100s\" does not exist", path);
+ } else if (errno == ECONNREFUSED) {
+ debug("Removing stale control socket \"%.100s\"", path);
+ unlink(path);
} else {
error("Control socket connect(%.100s): %s", path,
strerror(errno));