diff --git a/src/server/mux.c b/src/server/mux.c
index 69423bd6b807fc631ec43b269800540960e37064..cf6e8d2d1257e3c6827dd791f5c7c47a5a43c24b 100644
--- a/src/server/mux.c
+++ b/src/server/mux.c
@@ -1,5 +1,5 @@
 /*
- * $Id: mux.c,v 0.5 1991/09/15 10:30:47 linus Exp $
+ * $Id: mux.c,v 0.6 1991/09/21 12:13:08 ceder Exp $
  * Copyright (C) 1991  Lysator Academic Computer Association.
  *
  * This file is part of the LysKOM server.
@@ -26,7 +26,7 @@
 ** mux.c
 */
 
-static char *rcsid = "$Id: mux.c,v 0.5 1991/09/15 10:30:47 linus Exp $";
+static char *rcsid = "$Id: mux.c,v 0.6 1991/09/21 12:13:08 ceder Exp $";
 
  
 #include <stddef.h>
@@ -103,6 +103,7 @@ mux_destruct(Mux *mp)
 
   mux_free_parsed(mp);
   s_clear(&mp->parse.unparsed);
+
   sfree(mp->client_v);
   sfree(mp);
 }
@@ -409,6 +410,12 @@ mux_close(Connection  * cp)
   {
     case MUX_TYPE_CLIENT:
       isc_close(mp->scb);
+
+      if (mp->client_c != 1)
+	  restart_kom("ERROR: mux_close(): client_c == %d\n", mp->client_c);
+  
+      isc_freemsg(mp->client_v[0].outmsg);
+
       mux_destruct(mp);
       cp->mux = NULL;
       break;