Index: uspace/srv/hid/remcons/remcons.c
===================================================================
--- uspace/srv/hid/remcons/remcons.c	(revision 30d4706369c1702cca211faa402607371b0195ce)
+++ uspace/srv/hid/remcons/remcons.c	(revision 85627246bcd7a0516eb7c9baaca2290ee7501fd4)
@@ -254,8 +254,5 @@
 
 	/* Announce user disconnection. */
-	fibril_mutex_lock(&user->refcount_mutex);
-	user->locsrv_connection_count--;
-	fibril_condvar_signal(&user->refcount_cv);
-	fibril_mutex_unlock(&user->refcount_mutex);
+	telnet_user_notify_client_disconnected(user);
 }
 
Index: uspace/srv/hid/remcons/user.c
===================================================================
--- uspace/srv/hid/remcons/user.c	(revision 30d4706369c1702cca211faa402607371b0195ce)
+++ uspace/srv/hid/remcons/user.c	(revision 85627246bcd7a0516eb7c9baaca2290ee7501fd4)
@@ -53,4 +53,5 @@
 #include <io/console.h>
 #include <inttypes.h>
+#include <assert.h>
 #include "user.h"
 
@@ -146,4 +147,12 @@
 }
 
+void telnet_user_notify_client_disconnected(telnet_user_t *user)
+{
+	fibril_mutex_lock(&user->refcount_mutex);
+	assert(user->locsrv_connection_count > 0);
+	user->locsrv_connection_count--;
+	fibril_condvar_signal(&user->refcount_cv);
+	fibril_mutex_unlock(&user->refcount_mutex);
+}
 
 
Index: uspace/srv/hid/remcons/user.h
===================================================================
--- uspace/srv/hid/remcons/user.h	(revision 30d4706369c1702cca211faa402607371b0195ce)
+++ uspace/srv/hid/remcons/user.h	(revision 85627246bcd7a0516eb7c9baaca2290ee7501fd4)
@@ -67,4 +67,5 @@
 void telnet_user_destroy(telnet_user_t *user);
 telnet_user_t *telnet_user_get_for_client_connection(service_id_t id);
+void telnet_user_notify_client_disconnected(telnet_user_t *user);
 
 #endif
