diff -uNr bitlbee-20040811-orig/commands.c bitlbee-20040811/commands.c
--- bitlbee-20040811-orig/commands.c	2004-08-08 10:13:11.000000000 +0200
+++ bitlbee-20040811/commands.c	2004-08-16 13:54:55.000000000 +0200
@@ -338,6 +338,7 @@
 int cmd_add( irc_t *irc, char **cmd )
 {
 	account_t *a;
+	user_t *oldowner;
 	
 	if( !( a = account_get( irc, cmd[1] ) ) )
 	{
@@ -357,9 +358,9 @@
 			irc_usermsg( irc, "The requested nick `%s' is invalid", cmd[3] );
 			return( 0 );
 		}
-		else if( user_find( irc, cmd[3] ) )
+		else if( ( oldowner = user_find( irc, cmd[3] ) ) != NULL )
 		{
-			irc_usermsg( irc, "The requested nick `%s' already exists", cmd[3] );
+			irc_usermsg( irc, "The requested nick `%s' is already used by user `%s'", cmd[3], oldowner->handle);
 			return( 0 );
 		}
 		else
@@ -414,16 +415,16 @@
 
 int cmd_rename( irc_t *irc, char **cmd )
 {
-	user_t *u;
+	user_t *u, *oldowner;
 	
 	if( g_strcasecmp( cmd[1], irc->nick ) == 0 )
 	{
 		irc_usermsg( irc, "Nick `%s' can't be changed", cmd[1] );
 		return( 1 );
 	}
-	if( user_find( irc, cmd[2] ) && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) )
+	if( ( oldowner = user_find( irc, cmd[2] ) ) != NULL && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) )
 	{
-		irc_usermsg( irc, "Nick `%s' already exists", cmd[2] );
+		irc_usermsg( irc, "Nick `%s' is already used by user `%s'", cmd[2], oldowner->handle);
 		return( 1 );
 	}
 	if( !nick_ok( cmd[2] ) )
