diff --git a/libpurple/accounts.h b/libpurple/accounts.h
--- a/libpurple/accounts.h
+++ b/libpurple/accounts.h
@@ -28,7 +28,6 @@
 
 #include "purpleaccount.h"
 #include "purpleversion.h"
-#include "status.h"
 
 G_BEGIN_DECLS
 
# HG changeset patch
# Node ID 6750187a1919
# Parent  ba39c2657d78
diff --git a/libpurple/accounts.c b/libpurple/accounts.c
--- a/libpurple/accounts.c
+++ b/libpurple/accounts.c
@@ -25,6 +25,8 @@
 #include "core.h"
 #include "debug.h"
 #include "network.h"
+#include "notify.h"
+#include "prefs.h"
 #include "purpleaccountmanager.h"
 #include "purpleconversationmanager.h"
 #include "purplecredentialmanager.h"
diff --git a/libpurple/buddyicon.h b/libpurple/buddyicon.h
--- a/libpurple/buddyicon.h
+++ b/libpurple/buddyicon.h
@@ -47,10 +47,8 @@
 
 typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec;
 
-#include "blistnode.h"
 #include "buddylist.h"
 #include "image.h"
-#include "protocols.h"
 #include "purpleaccount.h"
 #include "purpleversion.h"
 #include "util.h"
diff --git a/libpurple/contact.c b/libpurple/contact.c
--- a/libpurple/contact.c
+++ b/libpurple/contact.c
@@ -22,6 +22,7 @@
  */
 
 #include "contact.h"
+#include "prefs.h"
 #include "purplebuddypresence.h"
 #include "purpleconversationmanager.h"
 #include "purpleprivate.h"
diff --git a/libpurple/conversations.c b/libpurple/conversations.c
--- a/libpurple/conversations.c
+++ b/libpurple/conversations.c
@@ -21,8 +21,9 @@
  */
 
 #include "conversations.h"
+
+#include "prefs.h"
 #include "purpleprivate.h"
-
 #include "purpleconversationmanager.h"
 
 static PurpleConversationUiOps *default_ops = NULL;
diff --git a/libpurple/group.h b/libpurple/group.h
--- a/libpurple/group.h
+++ b/libpurple/group.h
@@ -38,11 +38,8 @@
 typedef struct _PurpleGroup PurpleGroup;
 typedef struct _PurpleGroupClass PurpleGroupClass;
 
-#include "blistnode.h"
-#include "buddyicon.h"
 #include "purpleaccount.h"
 #include "purpleversion.h"
-#include "status.h"
 
 /**************************************************************************/
 /* Data Structures                                                        */
diff --git a/libpurple/media.h b/libpurple/media.h
--- a/libpurple/media.h
+++ b/libpurple/media.h
@@ -42,6 +42,7 @@
 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA))
 #define PURPLE_MEDIA_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass))
 
+#include "purpleaccount.h"
 #include "purpleversion.h"
 #include "signals.h"
 #include "util.h"
diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
--- a/libpurple/mediamanager.c
+++ b/libpurple/mediamanager.c
@@ -25,6 +25,7 @@
 #include "glibcompat.h"
 #include "media.h"
 #include "mediamanager.h"
+#include "prefs.h"
 #include "purpleaccount.h"
 #include "purplepath.h"
 
diff --git a/libpurple/plugins.c b/libpurple/plugins.c
--- a/libpurple/plugins.c
+++ b/libpurple/plugins.c
@@ -26,7 +26,9 @@
 
 #include "core.h"
 #include "debug.h"
+#include "notify.h"
 #include "plugins.h"
+#include "prefs.h"
 #include "purpleenums.h"
 #include "purplenotification.h"
 #include "purplenotificationmanager.h"
diff --git a/libpurple/protocols.c b/libpurple/protocols.c
--- a/libpurple/protocols.c
+++ b/libpurple/protocols.c
@@ -23,6 +23,9 @@
 
 #include <glib/gi18n-lib.h>
 
+#include "protocols.h"
+
+#include "accounts.h"
 #include "debug.h"
 #include "network.h"
 #include "notify.h"
diff --git a/libpurple/proxy.h b/libpurple/proxy.h
--- a/libpurple/proxy.h
+++ b/libpurple/proxy.h
@@ -29,7 +29,6 @@
 #include <glib.h>
 #include <gio/gio.h>
 
-#include "eventloop.h"
 #include "purpleaccount.h"
 #include "purpleproxyinfo.h"
 #include "purpleversion.h"
diff --git a/libpurple/proxy.c b/libpurple/proxy.c
--- a/libpurple/proxy.c
+++ b/libpurple/proxy.c
@@ -23,6 +23,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "debug.h"
+#include "eventloop.h"
 #include "notify.h"
 #include "prefs.h"
 #include "proxy.h"
diff --git a/libpurple/purpleaccount.h b/libpurple/purpleaccount.h
--- a/libpurple/purpleaccount.h
+++ b/libpurple/purpleaccount.h
@@ -34,7 +34,6 @@
 
 typedef struct _PurpleAccount PurpleAccount;
 
-#include "buddy.h"
 #include "connection.h"
 #include "group.h"
 #include "purpleconnectionerrorinfo.h"
diff --git a/libpurple/purpleaccountpresence.c b/libpurple/purpleaccountpresence.c
--- a/libpurple/purpleaccountpresence.c
+++ b/libpurple/purpleaccountpresence.c
@@ -23,6 +23,7 @@
 
 #include "purpleaccountpresence.h"
 
+#include "protocols.h"
 #include "purpleprotocolserver.h"
 
 struct _PurpleAccountPresence {
diff --git a/libpurple/purplebuddypresence.h b/libpurple/purplebuddypresence.h
--- a/libpurple/purplebuddypresence.h
+++ b/libpurple/purplebuddypresence.h
@@ -26,7 +26,7 @@
 #ifndef PURPLE_BUDDY_PRESENCE_H
 #define PURPLE_BUDDY_PRESENCE_H
 
-#include "buddylist.h"
+#include "buddy.h"
 #include "purplepresence.h"
 #include "purpleversion.h"
 
diff --git a/libpurple/purplebuddypresence.c b/libpurple/purplebuddypresence.c
--- a/libpurple/purplebuddypresence.c
+++ b/libpurple/purplebuddypresence.c
@@ -23,6 +23,8 @@
 
 #include "purplebuddypresence.h"
 
+#include "prefs.h"
+#include "protocols.h"
 #include "purpleprivate.h"
 
 struct _PurpleBuddyPresence {
diff --git a/libpurple/purplechatconversation.c b/libpurple/purplechatconversation.c
--- a/libpurple/purplechatconversation.c
+++ b/libpurple/purplechatconversation.c
@@ -22,7 +22,9 @@
 
 #include <glib/gi18n-lib.h>
 
+#include "conversations.h"
 #include "debug.h"
+#include "prefs.h"
 #include "purplecontactmanager.h"
 #include "purpleconversationmanager.h"
 #include "purplechatconversation.h"
diff --git a/libpurple/purpleconversation.c b/libpurple/purpleconversation.c
--- a/libpurple/purpleconversation.c
+++ b/libpurple/purpleconversation.c
@@ -22,6 +22,7 @@
 
 #include "conversations.h"
 #include "debug.h"
+#include "notify.h"
 #include "purpleconversationmanager.h"
 #include "purpleconversationmember.h"
 #include "purpleenums.h"
diff --git a/libpurple/purplecredentialmanager.c b/libpurple/purplecredentialmanager.c
--- a/libpurple/purplecredentialmanager.c
+++ b/libpurple/purplecredentialmanager.c
@@ -22,6 +22,7 @@
 
 #include "core.h"
 #include "debug.h"
+#include "notify.h"
 #include "prefs.h"
 #include "purplenoopcredentialprovider.h"
 #include "purpleprivate.h"
diff --git a/libpurple/purplegio.c b/libpurple/purplegio.c
--- a/libpurple/purplegio.c
+++ b/libpurple/purplegio.c
@@ -23,6 +23,7 @@
 #include "purplegio.h"
 
 #include "debug.h"
+#include "prefs.h"
 #include "proxy.h"
 
 typedef struct {
diff --git a/libpurple/purpleimconversation.c b/libpurple/purpleimconversation.c
--- a/libpurple/purpleimconversation.c
+++ b/libpurple/purpleimconversation.c
@@ -23,6 +23,7 @@
 
 #include "debug.h"
 #include "conversations.h"
+#include "prefs.h"
 #include "purpleconversationmanager.h"
 #include "purpleenums.h"
 #include "purpleprivate.h"
diff --git a/libpurple/purpleprotocol.h b/libpurple/purpleprotocol.h
--- a/libpurple/purpleprotocol.h
+++ b/libpurple/purpleprotocol.h
@@ -48,13 +48,8 @@
 
 #include "buddyicon.h"
 #include "connection.h"
-#include "image.h"
 #include "purpleaccount.h"
-#include "purpleaccountoption.h"
-#include "purpleaccountusersplit.h"
-#include "purplemessage.h"
 #include "purplewhiteboardops.h"
-#include "status.h"
 
 /**
  * PurpleProtocolOptions:
diff --git a/libpurple/purpleprotocol.c b/libpurple/purpleprotocol.c
--- a/libpurple/purpleprotocol.c
+++ b/libpurple/purpleprotocol.c
@@ -22,6 +22,8 @@
 
 #include "purpleprotocol.h"
 
+#include "notify.h"
+#include "prefs.h"
 #include "purpleaccountmanager.h"
 #include "purpleenums.h"
 
diff --git a/libpurple/purpleprotocolchat.h b/libpurple/purpleprotocolchat.h
--- a/libpurple/purpleprotocolchat.h
+++ b/libpurple/purpleprotocolchat.h
@@ -31,6 +31,7 @@
 #include <glib-object.h>
 
 #include "connection.h"
+#include "purpleconversation.h"
 #include "purplemessage.h"
 #include "purpleprotocol.h"
 #include "purpleversion.h"
diff --git a/libpurple/purpleprotocolclient.h b/libpurple/purpleprotocolclient.h
--- a/libpurple/purpleprotocolclient.h
+++ b/libpurple/purpleprotocolclient.h
@@ -30,8 +30,9 @@
 #include <glib.h>
 #include <glib-object.h>
 
+#include "connection.h"
 #include "purpleaccount.h"
-#include "connection.h"
+#include "purpleconversation.h"
 #include "purpleprotocol.h"
 #include "purpleversion.h"
 
diff --git a/libpurple/purpleprotocolclient.c b/libpurple/purpleprotocolclient.c
--- a/libpurple/purpleprotocolclient.c
+++ b/libpurple/purpleprotocolclient.c
@@ -22,6 +22,8 @@
 
 #include "purpleprotocolclient.h"
 
+#include "purpleconversation.h"
+
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
diff --git a/libpurple/savedstatuses.c b/libpurple/savedstatuses.c
--- a/libpurple/savedstatuses.c
+++ b/libpurple/savedstatuses.c
@@ -25,6 +25,7 @@
 #include "debug.h"
 #include "idle.h"
 #include "notify.h"
+#include "prefs.h"
 #include "purpleaccountmanager.h"
 #include "purplemarkup.h"
 #include "savedstatuses.h"
diff --git a/libpurple/server.h b/libpurple/server.h
--- a/libpurple/server.h
+++ b/libpurple/server.h
@@ -27,10 +27,8 @@
 #ifndef PURPLE_SERVER_H
 #define PURPLE_SERVER_H
 
-#include "accounts.h"
-#include "conversations.h"
+#include "buddy.h"
 #include "group.h"
-#include "protocols.h"
 #include "purpleimconversation.h"
 #include "purplemessage.h"
 #include "purpleversion.h"
diff --git a/libpurple/server.c b/libpurple/server.c
--- a/libpurple/server.c
+++ b/libpurple/server.c
@@ -26,6 +26,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "buddylist.h"
+#include "conversations.h"
 #include "debug.h"
 #include "notify.h"
 #include "prefs.h"
diff --git a/libpurple/status.c b/libpurple/status.c
--- a/libpurple/status.c
+++ b/libpurple/status.c
@@ -28,6 +28,7 @@
 #include "debug.h"
 #include "notify.h"
 #include "prefs.h"
+#include "protocols.h"
 #include "purpleaccountpresence.h"
 #include "purplebuddypresence.h"
 #include "status.h"
diff --git a/libpurple/util.h b/libpurple/util.h
--- a/libpurple/util.h
+++ b/libpurple/util.h
@@ -29,13 +29,10 @@
 
 #include <stdio.h>
 
-#include "signals.h"
-#include "xmlnode.h"
-#include "notify.h"
-#include "protocols.h"
 #include "purpleaccount.h"
 #include "purpleprotocol.h"
 #include "purpleversion.h"
+#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
diff --git a/libpurple/xfer.c b/libpurple/xfer.c
--- a/libpurple/xfer.c
+++ b/libpurple/xfer.c
@@ -27,6 +27,7 @@
 #include <glib/gstdio.h>
 
 #include "debug.h"
+#include "eventloop.h"
 #include "glibcompat.h"
 #include "image-store.h"
 #include "network.h"
diff --git a/libpurple/xmlnode.c b/libpurple/xmlnode.c
--- a/libpurple/xmlnode.c
+++ b/libpurple/xmlnode.c
@@ -32,6 +32,7 @@
 #include <string.h>
 #include <glib.h>
 
+#include "notify.h"
 #include "purplemarkup.h"
 #include "util.h"
 #include "xmlnode.h"
