diff --git a/src/attica/atticaprovider.cpp b/src/attica/atticaprovider.cpp --- a/src/attica/atticaprovider.cpp +++ b/src/attica/atticaprovider.cpp @@ -126,7 +126,12 @@ foreach (const Category &category, categoryList) { if (mCategoryMap.contains(category.name())) { qCDebug(KNEWSTUFFCORE) << "Adding category: " << category.name() << category.displayName(); - mCategoryMap[category.name()] = category; + //If there is only the placeholder category, replace it + if (mCategoryMap.contains(category.name()) && !mCategoryMap.value(category.name()).isValid()) { + mCategoryMap.insert(category.name(), category); + } else { + mCategoryMap.insertMulti(category.name(), category); + } CategoryMetadata categoryMetadata; categoryMetadata.id = category.id(); @@ -203,7 +208,7 @@ } else { categoriesToSearch.reserve(request.categories.size()); foreach (const QString &categoryName, request.categories) { - categoriesToSearch.append(mCategoryMap.value(categoryName)); + categoriesToSearch.append(mCategoryMap.values(categoryName)); } }