summary refs log tree commit diff stats
path: root/src/common/userlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/userlist.c')
-rw-r--r--src/common/userlist.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/common/userlist.c b/src/common/userlist.c
index 54ed6f03..da40ff14 100644
--- a/src/common/userlist.c
+++ b/src/common/userlist.c
@@ -123,10 +123,11 @@ userlist_add_hostname (struct session *sess, char *nick, char *hostname,
 	user = userlist_find (sess, nick);
 	if (user)
 	{
-		if (!user->hostname && hostname)
+		if (hostname && (!user->hostname || strcmp(user->hostname, hostname)))
 		{
 			if (prefs.hex_gui_ulist_show_hosts)
 				do_rehash = TRUE;
+			g_free (user->hostname);
 			user->hostname = g_strdup (hostname);
 		}
 		if (!user->realname && realname && *realname)