diff --git a/src/categorize.cpp b/src/categorize.cpp
index 4b5151011e40b6e06758448426212e8ad7d8ac9e..93760a9ead9137cf18f240fd16dc74ed79ccf254 100644
--- a/src/categorize.cpp
+++ b/src/categorize.cpp
@@ -20,7 +20,7 @@ void categorizeXml(const char *xmlFile, map<string, set<string> >& M) {
              if ( xmlTextReaderHasAttributes(reader) == 1 ) {
                  node.category = xmlTextReaderGetAttribute(reader, xmlCharStrdup("category"));
                  node.media = xmlTextReaderGetAttribute(reader, xmlCharStrdup("media"));
-                 category = (char *)node.category;
+                 category = QString().fromUtf8((char *)node.category).toStdString();
                  media = QString().fromUtf8((char *)node.media).toStdString();
                  M[media].insert(category);
              }