Index: filter/filter-rule.c
===================================================================
--- filter/filter-rule.c	(revision 35709)
+++ filter/filter-rule.c	(working copy)
@@ -321,9 +321,13 @@ xml_encode (FilterRule *fr)
 	}
 
 	if (fr->name) {
+		char *escaped = g_markup_escape_text (fr->name, -1);
+
 		work = xmlNewNode (NULL, (const unsigned char *)"title");
-		xmlNodeSetContent (work, (unsigned char *)fr->name);
+		xmlNodeSetContent (work, (unsigned char *)escaped);
 		xmlAddChild (node, work);
+
+		g_free (escaped);
 	}
 
 	set = xmlNewNode (NULL, (const unsigned char *)"partset");
Index: filter/ChangeLog
===================================================================
--- filter/ChangeLog	(revision 35709)
+++ filter/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2008-07-02  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #243201
+
+	* filter-rule.c: (xml_encode): Escape rule title so that can contain
+	also XML entities in the file.
+
 2008-06-16  Maciej Piechotka  <uzytkownik2@gmal.com>
 
 	** Fix for bug #526262
