diff --git a/libempathy-gtk/empathy-plist.c b/libempathy-gtk/empathy-plist.c
index 4cc392b..73d3146 100644
--- a/libempathy-gtk/empathy-plist.c
+++ b/libempathy-gtk/empathy-plist.c
@@ -294,7 +294,6 @@ empathy_plist_parse_from_file (const char *filename)
 	parsed_doc = empathy_plist_parse (root_element);
 
 	xmlFreeDoc (doc);
-	xmlCleanupParser ();
 
 	return parsed_doc;
 }
@@ -329,7 +328,6 @@ empathy_plist_parse_from_memory (const char *data, gsize len)
 	parsed_doc = empathy_plist_parse (root_element);
 
 	xmlFreeDoc (doc);
-	xmlCleanupParser ();
 
 	return parsed_doc;
 }
diff --git a/libempathy/empathy-chatroom-manager.c b/libempathy/empathy-chatroom-manager.c
index 56295fe..bfb85f5 100644
--- a/libempathy/empathy-chatroom-manager.c
+++ b/libempathy/empathy-chatroom-manager.c
@@ -127,7 +127,6 @@ chatroom_manager_file_save (EmpathyChatroomManager *manager)
 	xmlSaveFormatFileEnc (priv->file, doc, "utf-8", 1);
 	xmlFreeDoc (doc);
 
-	xmlCleanupParser ();
 	xmlMemoryDump ();
 
 	return TRUE;
diff --git a/libempathy/empathy-contact-groups.c b/libempathy/empathy-contact-groups.c
index 7244c16..726824e 100644
--- a/libempathy/empathy-contact-groups.c
+++ b/libempathy/empathy-contact-groups.c
@@ -221,7 +221,6 @@ contact_groups_file_save (void)
 	xmlSaveFormatFileEnc (file, doc, "utf-8", 1);
 	xmlFreeDoc (doc);
 
-	xmlCleanupParser ();
 	xmlMemoryDump ();
 
 	g_free (file);
diff --git a/libempathy/empathy-irc-network-manager.c b/libempathy/empathy-irc-network-manager.c
index 0b5bcc8..97d19a0 100644
--- a/libempathy/empathy-irc-network-manager.c
+++ b/libempathy/empathy-irc-network-manager.c
@@ -719,7 +719,6 @@ irc_network_manager_file_save (EmpathyIrcNetworkManager *self)
   xmlSaveFormatFileEnc (priv->user_file, doc, "utf-8", 1);
   xmlFreeDoc (doc);
 
-  xmlCleanupParser ();
   xmlMemoryDump ();
 
   priv->have_to_save = FALSE;
diff --git a/src/empathy.c b/src/empathy.c
index ffb22a8..4baf5b8 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -1065,6 +1065,7 @@ main (int argc, char *argv[])
   g_object_unref (unique_app);
 
   notify_uninit ();
+  xmlCleanupParser ();
 
   return EXIT_SUCCESS;
 }
