--- a/libpurple/protocols/novell/novell.c Wed Apr 01 04:24:11 2009 +0000 +++ b/libpurple/protocols/novell/novell.c Wed Apr 01 04:25:37 2009 +0000 @@ -2547,7 +2547,7 @@ if (gc == NULL || buddy == NULL || group == NULL) return; - user = (NMUser *) gc->proto_data; + user = (NMUser *) purple_connection_get_protocol_data(gc); if (user == NULL) return; @@ -2557,6 +2557,10 @@ if (!user->clist_synched) return; + /* Don't re-add a buddy that is already on our contact list */ + if (nm_find_user_record(user, purple_buddy_get_name(buddy)) != NULL) + return; + contact = nm_create_contact(); nm_contact_set_dn(contact, purple_buddy_get_name(buddy));