diff --git a/apps/openmw/mwworld/inventorystore.cpp b/apps/openmw/mwworld/inventorystore.cpp index 54b32d600e..f33ddc94ff 100644 --- a/apps/openmw/mwworld/inventorystore.cpp +++ b/apps/openmw/mwworld/inventorystore.cpp @@ -291,9 +291,15 @@ void MWWorld::InventoryStore::autoEquip (const MWWorld::Ptr& actor) { if (old.getTypeName() == typeid(ESM::Armor).name()) { - if (old.getClass().getEffectiveArmorRating(old, actor) >= test.getClass().getEffectiveArmorRating(test, actor)) - // old armor had better armor rating + if (old.get()->mBase->mData.mType < test.get()->mBase->mData.mType) continue; + + if (old.get()->mBase->mData.mType == test.get()->mBase->mData.mType) + { + if (old.getClass().getEffectiveArmorRating(old, actor) >= test.getClass().getEffectiveArmorRating(test, actor)) + // old armor had better armor rating + continue; + } } // suitable armor should replace already equipped clothing }