diff --git a/ChangeLog b/ChangeLog
index f86b04a1fbde6d203c56be87190a99102107e28c..d574af6a4b835a6fb193698e0382f0601d7e0e1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2013-04-19  Magnus Holmgren <holmgren@debian.org>
 
+	* src/lsh.c (do_lsh_default_handler): Call exit for
+	EXC_IO_CONNECT, to terminate properly on connection failure.
+
 	* src/io.c (io_bind_sockaddr): Set the IPV6_V6ONLY socket option
 	on AF_INET6 sockets.
 
diff --git a/src/lsh.c b/src/lsh.c
index 31377800974f934b7f390210cd7674d5927df8c1..e9bd7c71e1707e75a6277a7be2699de64c9b9ac9 100644
--- a/src/lsh.c
+++ b/src/lsh.c
@@ -959,6 +959,8 @@ do_lsh_default_handler(struct exception_handler *s,
       *self->status = EXIT_FAILURE;
       
       werror("%z, (errno = %i)\n", e->msg, exc->error);
+      if (e->type == EXC_IO_CONNECT)
+	exit(*self->status);
     }
   else
     switch(e->type)