--- a/libpurple/protocols/silc/buddy.c Thu Mar 05 23:54:50 2009 +0000 +++ b/libpurple/protocols/silc/buddy.c Sat Mar 07 01:23:51 2009 +0000 @@ -1397,7 +1397,12 @@ void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { - silcpurple_add_buddy_i(gc, buddy, FALSE); + /* Don't add if the buddy is already on the list. + * + * SILC doesn't have groups, so we also don't need to do anything + * for a move. */ + if (buddy->proto_data == NULL) + silcpurple_add_buddy_i(gc, buddy, FALSE); } void silcpurple_send_buddylist(PurpleConnection *gc)