Index: uspace/srv/hid/remcons/remcons.c
===================================================================
--- uspace/srv/hid/remcons/remcons.c	(revision 5923cf829e198490750faa6bde25489e143fddbd)
+++ uspace/srv/hid/remcons/remcons.c	(revision 261bbdc1ca1fd5d732e25e8481ec324931db7966)
@@ -104,7 +104,7 @@
 			callid = async_get_call_timeout(&call, 1000);
 
-			fibril_mutex_lock(&user->refcount_mutex);
+			fibril_mutex_lock(&user->guard);
 			bool bail_out = user->socket_closed || user->task_finished;
-			fibril_mutex_unlock(&user->refcount_mutex);
+			fibril_mutex_unlock(&user->guard);
 
 			if (bail_out) {
@@ -134,7 +134,7 @@
 					int recv_length = recv(user->socket, user->socket_buffer, BUFFER_SIZE, 0);
 					if ((recv_length == 0) || (recv_length == ENOTCONN)) {
-						fibril_mutex_lock(&user->refcount_mutex);
+						fibril_mutex_lock(&user->guard);
 						user->socket_closed = true;
-						fibril_mutex_unlock(&user->refcount_mutex);
+						fibril_mutex_unlock(&user->guard);
 						async_answer_0(callid, ENOENT);
 						return;
@@ -283,14 +283,14 @@
 		telnet_user_error(user, "Spawning %s %s %s failed: %s.",
 		    APP_GETTERM, term, "/app/bdsh", str_error(rc));
-		fibril_mutex_lock(&user->refcount_mutex);
+		fibril_mutex_lock(&user->guard);
 		user->task_finished = true;
 		fibril_condvar_signal(&user->refcount_cv);
-		fibril_mutex_unlock(&user->refcount_mutex);
+		fibril_mutex_unlock(&user->guard);
 		return EOK;
 	}
 
-	fibril_mutex_lock(&user->refcount_mutex);
+	fibril_mutex_lock(&user->guard);
 	user->task_id = task;
-	fibril_mutex_unlock(&user->refcount_mutex);
+	fibril_mutex_unlock(&user->guard);
 
 	task_exit_t task_exit;
@@ -302,8 +302,8 @@
 
 	/* Announce destruction. */
-	fibril_mutex_lock(&user->refcount_mutex);
+	fibril_mutex_lock(&user->guard);
 	user->task_finished = true;
 	fibril_condvar_signal(&user->refcount_cv);
-	fibril_mutex_unlock(&user->refcount_mutex);
+	fibril_mutex_unlock(&user->guard);
 
 	return EOK;
@@ -344,5 +344,5 @@
 
 	/* Wait for all clients to exit. */
-	fibril_mutex_lock(&user->refcount_mutex);
+	fibril_mutex_lock(&user->guard);
 	while (!user_can_be_destroyed_no_lock(user)) {
 		if (user->task_finished) {
@@ -355,7 +355,7 @@
 			}
 		}
-		fibril_condvar_wait_timeout(&user->refcount_cv, &user->refcount_mutex, 1000);
-	}
-	fibril_mutex_unlock(&user->refcount_mutex);
+		fibril_condvar_wait_timeout(&user->refcount_cv, &user->guard, 1000);
+	}
+	fibril_mutex_unlock(&user->guard);
 
 	rc = loc_service_unregister(user->service_id);
Index: uspace/srv/hid/remcons/user.c
===================================================================
--- uspace/srv/hid/remcons/user.c	(revision 5923cf829e198490750faa6bde25489e143fddbd)
+++ uspace/srv/hid/remcons/user.c	(revision 261bbdc1ca1fd5d732e25e8481ec324931db7966)
@@ -89,5 +89,5 @@
 
 	fibril_condvar_initialize(&user->refcount_cv);
-	fibril_mutex_initialize(&user->refcount_mutex);
+	fibril_mutex_initialize(&user->guard);
 	user->task_finished = false;
 	user->socket_closed = false;
@@ -139,5 +139,5 @@
 
 	telnet_user_t *tmp = user;
-	fibril_mutex_lock(&tmp->refcount_mutex);
+	fibril_mutex_lock(&tmp->guard);
 	user->locsrv_connection_count++;
 
@@ -151,5 +151,5 @@
 	}
 
-	fibril_mutex_unlock(&tmp->refcount_mutex);
+	fibril_mutex_unlock(&tmp->guard);
 
 
@@ -165,9 +165,9 @@
 void telnet_user_notify_client_disconnected(telnet_user_t *user)
 {
-	fibril_mutex_lock(&user->refcount_mutex);
+	fibril_mutex_lock(&user->guard);
 	assert(user->locsrv_connection_count > 0);
 	user->locsrv_connection_count--;
 	fibril_condvar_signal(&user->refcount_cv);
-	fibril_mutex_unlock(&user->refcount_mutex);
+	fibril_mutex_unlock(&user->guard);
 }
 
Index: uspace/srv/hid/remcons/user.h
===================================================================
--- uspace/srv/hid/remcons/user.h	(revision 5923cf829e198490750faa6bde25489e143fddbd)
+++ uspace/srv/hid/remcons/user.h	(revision 261bbdc1ca1fd5d732e25e8481ec324931db7966)
@@ -44,4 +44,7 @@
 /** Representation of a connected (human) user. */
 typedef struct {
+	/** Mutex guarding the whole structure. */
+	fibril_mutex_t guard;
+
 	/** Internal id, used for creating locfs entries. */
 	int id;
@@ -65,5 +68,4 @@
 	/* Reference counting. */
 	fibril_condvar_t refcount_cv;
-	fibril_mutex_t refcount_mutex;
 	bool task_finished;
 	int locsrv_connection_count;
