diff --git a/libpurple/protocols/bonjour/bonjour.h b/libpurple/protocols/bonjour/bonjour.h
--- a/libpurple/protocols/bonjour/bonjour.h
+++ b/libpurple/protocols/bonjour/bonjour.h
@@ -35,7 +35,6 @@
 
 #define BONJOUR_GROUP_NAME (bonjour_get_group_name())
 #define BONJOUR_PROTOCOL_NAME "bonjour"
-#define BONJOUR_ICON_NAME "bonjour"
 
 #define BONJOUR_STATUS_ID_OFFLINE   "offline"
 #define BONJOUR_STATUS_ID_AVAILABLE "available"
# HG changeset patch
# Node ID 3cab09a8d6af
# Parent  77df5b4ebc67
diff --git a/libpurple/protocols/bonjour/bonjour.c b/libpurple/protocols/bonjour/bonjour.c
--- a/libpurple/protocols/bonjour/bonjour.c
+++ b/libpurple/protocols/bonjour/bonjour.c
@@ -203,12 +203,6 @@
 	purple_connection_set_protocol_data(connection, NULL);
 }
 
-static const char *
-bonjour_list_icon(PurpleAccount *account, PurpleBuddy *buddy)
-{
-	return BONJOUR_ICON_NAME;
-}
-
 static GList *
 bonjour_protocol_get_account_options(PurpleProtocol *protocol) {
 	PurpleAccountOption *option;
@@ -687,7 +681,6 @@
 	protocol_class->login = bonjour_login;
 	protocol_class->close = bonjour_close;
 	protocol_class->status_types = bonjour_status_types;
-	protocol_class->list_icon = bonjour_list_icon;
 
 	protocol_class->get_account_options = bonjour_protocol_get_account_options;
 	protocol_class->get_buddy_icon_spec = bonjour_protocol_get_buddy_icon_spec;
diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c
--- a/libpurple/protocols/facebook/facebook.c
+++ b/libpurple/protocols/facebook/facebook.c
@@ -1163,12 +1163,6 @@
 	return g_list_reverse(types);
 }
 
-static const char *
-fb_list_icon(PurpleAccount *account, PurpleBuddy *buddy)
-{
-	return "facebook";
-}
-
 static void
 fb_client_tooltip_text(PurpleProtocolClient *client, PurpleBuddy *buddy,
                        PurpleNotifyUserInfo *info, gboolean full)
@@ -1598,7 +1592,6 @@
 	protocol_class->login = fb_login;
 	protocol_class->close = fb_close;
 	protocol_class->status_types = fb_status_types;
-	protocol_class->list_icon = fb_list_icon;
 }
 
 static void
diff --git a/libpurple/protocols/gg/gg.c b/libpurple/protocols/gg/gg.c
--- a/libpurple/protocols/gg/gg.c
+++ b/libpurple/protocols/gg/gg.c
@@ -673,11 +673,6 @@
 /* ----- PurpleProtocol ----------------------------------------- */
 /* ---------------------------------------------------------------------- */
 
-static const char *ggp_list_icon(PurpleAccount *account, PurpleBuddy *buddy)
-{
-	return "gadu-gadu";
-}
-
 static PurpleBuddyIconSpec *
 ggp_protocol_get_buddy_icon_spec(PurpleProtocol *protocol) {
 	return purple_buddy_icon_spec_new("png",
@@ -1264,7 +1259,6 @@
 	protocol_class->login = ggp_login;
 	protocol_class->close = ggp_close;
 	protocol_class->status_types = ggp_status_types;
-	protocol_class->list_icon = ggp_list_icon;
 
 	protocol_class->get_account_options = ggp_protocol_get_account_options;
 	protocol_class->get_buddy_icon_spec = ggp_protocol_get_buddy_icon_spec;
diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c
--- a/libpurple/protocols/irc/irc.c
+++ b/libpurple/protocols/irc/irc.c
@@ -40,7 +40,6 @@
 
 static void irc_ison_buddy_init(char *name, struct irc_buddy *ib, GList **list);
 
-static const char *irc_blist_icon(PurpleAccount *a, PurpleBuddy *b);
 static GList *irc_status_types(PurpleAccount *account);
 /* static GList *irc_chat_info(PurpleConnection *gc); */
 static void irc_login(PurpleAccount *account);
@@ -370,12 +369,6 @@
 	g_free(buf);
 }
 
-
-static const char *irc_blist_icon(PurpleAccount *a, PurpleBuddy *b)
-{
-	return "irc";
-}
-
 static GList *
 irc_protocol_get_account_options(PurpleProtocol *protocol) {
 	PurpleAccountOption *option;
@@ -1098,7 +1091,6 @@
 	protocol_class->login = irc_login;
 	protocol_class->close = irc_close;
 	protocol_class->status_types = irc_status_types;
-	protocol_class->list_icon = irc_blist_icon;
 
 	protocol_class->get_account_options = irc_protocol_get_account_options;
 	protocol_class->get_user_splits = irc_protocol_get_user_splits;
diff --git a/libpurple/protocols/jabber/jabber.h b/libpurple/protocols/jabber/jabber.h
--- a/libpurple/protocols/jabber/jabber.h
+++ b/libpurple/protocols/jabber/jabber.h
@@ -366,7 +366,6 @@
 void jabber_stream_restart_inactivity_timer(JabberStream *js);
 
 /** Protocol functions */
-const char *jabber_list_icon(PurpleAccount *a, PurpleBuddy *b);
 const char* jabber_list_emblem(PurpleProtocolClient *client, PurpleBuddy *b);
 char *jabber_status_text(PurpleProtocolClient *client, PurpleBuddy *b);
 void jabber_tooltip_text(PurpleProtocolClient *client, PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full);
diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -2020,11 +2020,6 @@
 		                           inactivity_cb, js);
 }
 
-const char *jabber_list_icon(PurpleAccount *a, PurpleBuddy *b)
-{
-	return "jabber";
-}
-
 const char *
 jabber_list_emblem(PurpleProtocolClient *client, PurpleBuddy *b) {
 	JabberStream *js;
@@ -3873,7 +3868,6 @@
 	protocol_class->login = jabber_login;
 	protocol_class->close = jabber_close;
 	protocol_class->status_types = jabber_status_types;
-	protocol_class->list_icon = jabber_list_icon;
 }
 
 static void
diff --git a/libpurple/protocols/novell/novell.c b/libpurple/protocols/novell/novell.c
--- a/libpurple/protocols/novell/novell.c
+++ b/libpurple/protocols/novell/novell.c
@@ -2849,12 +2849,6 @@
 	}
 }
 
-static const char *
-novell_list_icon(PurpleAccount * account, PurpleBuddy * buddy)
-{
-	return "novell";
-}
-
 static GList *
 novell_protocol_get_account_options(PurpleProtocol *protocol) {
 	PurpleAccountOption *option;
@@ -3557,7 +3551,6 @@
 	protocol_class->login = novell_login;
 	protocol_class->close = novell_close;
 	protocol_class->status_types = novell_status_types;
-	protocol_class->list_icon = novell_list_icon;
 
 	protocol_class->get_account_options = novell_protocol_get_account_options;
 }
diff --git a/libpurple/protocols/sametime/sametime.c b/libpurple/protocols/sametime/sametime.c
--- a/libpurple/protocols/sametime/sametime.c
+++ b/libpurple/protocols/sametime/sametime.c
@@ -3106,22 +3106,6 @@
   g_free(pd);
 }
 
-
-static const char *mw_protocol_list_icon(PurpleAccount *a, PurpleBuddy *b) {
-  /* my little green dude is a chopped up version of the aim running
-     guy.  First, cut off the head and store someplace safe. Then,
-     take the left-half side of the body and throw it away. Make a
-     copy of the remaining body, and flip it horizontally. Now attach
-     the two pieces into an X shape, and drop the head back on the
-     top, being careful to center it. Then, just change the color
-     saturation to bring the red down a bit, and voila! */
-
-  /* then, throw all of that away and use sodipodi to make a new
-     icon. You know, LIKE A REAL MAN. */
-
-  return "meanwhile";
-}
-
 static GList *
 mw_protocol_get_account_options(PurpleProtocol *protocol) {
   PurpleAccountOption *opt;
@@ -5392,7 +5376,6 @@
 	protocol_class->login = mw_protocol_login;
 	protocol_class->close = mw_protocol_close;
 	protocol_class->status_types = mw_protocol_status_types;
-	protocol_class->list_icon = mw_protocol_list_icon;
 
   protocol_class->get_account_options = mw_protocol_get_account_options;
   protocol_class->get_user_splits = mw_protocol_get_user_splits;
diff --git a/libpurple/protocols/silc/silc.c b/libpurple/protocols/silc/silc.c
--- a/libpurple/protocols/silc/silc.c
+++ b/libpurple/protocols/silc/silc.c
@@ -64,12 +64,6 @@
 	silc_free(sg);
 }
 
-static const char *
-silcpurple_list_icon(PurpleAccount *a, PurpleBuddy *b)
-{
-	return (const char *)"silc";
-}
-
 static GList *
 silcpurple_away_states(PurpleAccount *account)
 {
@@ -2411,7 +2405,6 @@
 	protocol_class->login = silcpurple_login;
 	protocol_class->close = silcpurple_close;
 	protocol_class->status_types = silcpurple_away_states;
-	protocol_class->list_icon = silcpurple_list_icon;
 
 	protocol_class->get_user_splits = silcpurple_protocol_get_user_splits;
 	protocol_class->get_account_options = silcpurple_protocol_get_account_options;
diff --git a/libpurple/protocols/zephyr/zephyr.c b/libpurple/protocols/zephyr/zephyr.c
--- a/libpurple/protocols/zephyr/zephyr.c
+++ b/libpurple/protocols/zephyr/zephyr.c
@@ -1269,10 +1269,6 @@
 	}
 	return NULL;
 }
-static const char *zephyr_list_icon(PurpleAccount * a, PurpleBuddy * b)
-{
-	return "zephyr";
-}
 
 static GList *
 zephyr_protocol_get_account_options(PurpleProtocol *protocol) {
@@ -1728,7 +1724,6 @@
 	protocol_class->login = zephyr_login;
 	protocol_class->close = zephyr_close;
 	protocol_class->status_types = zephyr_status_types;
-	protocol_class->list_icon = zephyr_list_icon;
 
 	protocol_class->get_account_options = zephyr_protocol_get_account_options;
 }
diff --git a/libpurple/purpleprotocol.h b/libpurple/purpleprotocol.h
--- a/libpurple/purpleprotocol.h
+++ b/libpurple/purpleprotocol.h
@@ -164,8 +164,6 @@
 
 	GList *(*status_types)(PurpleAccount *account);
 
-	const gchar *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy);
-
 	/*< private >*/
 	gpointer reserved[4];
 };
@@ -322,23 +320,6 @@
 GList *purple_protocol_get_status_types(PurpleProtocol *protocol, PurpleAccount *account);
 
 /**
- * purple_protocol_get_list_icon:
- * @protocol: The #PurpleProtocol instance.
- * @account: The #PurpleAccount instance.
- * @buddy: The #PurpleBuddy instance.
- *
- * Gets the icon to show in the contact list for @buddy on @account which uses
- * @protocol.
- *
- * Both @account and @buddy may be %NULL to get the default icon for @protocol.
- *
- * Returns: The name of the icon file to use in the contact list for @buddy.
- *
- * Since: 3.0.0
- */
-const gchar *purple_protocol_get_list_icon(PurpleProtocol *protocol, PurpleAccount *account, PurpleBuddy *buddy);
-
-/**
  * purple_protocol_get_icon_name:
  * @protocol: The #PurpleProtocol instance.
  *
diff --git a/libpurple/purpleprotocol.c b/libpurple/purpleprotocol.c
--- a/libpurple/purpleprotocol.c
+++ b/libpurple/purpleprotocol.c
@@ -564,19 +564,3 @@
 
 	return NULL;
 }
-
-const gchar *
-purple_protocol_get_list_icon(PurpleProtocol *protocol, PurpleAccount *account,
-                              PurpleBuddy *buddy)
-{
-	PurpleProtocolClass *klass = NULL;
-
-	g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
-
-	klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
-	if(klass != NULL && klass->list_icon != NULL) {
-		return klass->list_icon(account, buddy);
-	}
-
-	return NULL;
-}
