diff --git a/mapeditor/inspector/townbuildingswidget.cpp b/mapeditor/inspector/townbuildingswidget.cpp
index 9cea3ddc6..eaa4719dd 100644
--- a/mapeditor/inspector/townbuildingswidget.cpp
+++ b/mapeditor/inspector/townbuildingswidget.cpp
@@ -93,9 +93,9 @@ QStandardItem * getBuildingParentFromTreeModel(const CBuilding * building, QStan
 	return parent;
 }
 
-std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState)
+std::list<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState)
 {
-	std::set<QVariant> result;
+	std::list<QVariant> result;
 	std::vector<QModelIndex> stack(1);
 	while (!stack.empty())
 	{
@@ -107,7 +107,7 @@ std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int
 			QModelIndex index = model.index(i, modelColumn, pindex);
 			if (auto * item = model.itemFromIndex(index))
 				if (item->checkState() == checkState)
-					result.emplace(item->data(MapEditorRoles::BuildingIDRole));
+					result.push_back(item->data(MapEditorRoles::BuildingIDRole));
 			index = model.index(i, 0, pindex);
 			if (model.hasChildren(index))
 				stack.push_back(index);
diff --git a/mapeditor/inspector/townbuildingswidget.h b/mapeditor/inspector/townbuildingswidget.h
index 84a3186de..5e279c4ae 100644
--- a/mapeditor/inspector/townbuildingswidget.h
+++ b/mapeditor/inspector/townbuildingswidget.h
@@ -21,7 +21,7 @@ std::string defaultBuildingIdConversion(BuildingID bId);
 
 QStandardItem * getBuildingParentFromTreeModel(const CBuilding * building, QStandardItemModel & model);
 
-std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState);
+std::list<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState);
 
 class TownBuildingsWidget : public QDialog
 {
diff --git a/mapeditor/inspector/towneventdialog.cpp b/mapeditor/inspector/towneventdialog.cpp
index 6f5ecd2b1..937ffa2f6 100644
--- a/mapeditor/inspector/towneventdialog.cpp
+++ b/mapeditor/inspector/towneventdialog.cpp
@@ -239,7 +239,11 @@ QVariantMap TownEventDialog::resourcesToVariant()
 QVariantList TownEventDialog::buildingsToVariant()
 {
 	auto buildings = getBuildingVariantsFromModel(buildingsModel, 1, Qt::Checked);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
 	QVariantList buildingsList(buildings.begin(), buildings.end());
+#else
+	QVariantList buildingsList = QVariantList::fromStdList(buildings);
+#endif
 	return buildingsList;
 }