diff --git a/apps/openmw/mwdialogue/filter.cpp b/apps/openmw/mwdialogue/filter.cpp index 99e689411..042f41f14 100644 --- a/apps/openmw/mwdialogue/filter.cpp +++ b/apps/openmw/mwdialogue/filter.cpp @@ -62,7 +62,15 @@ bool MWDialogue::Filter::testActor (const ESM::DialInfo& info) const } // NPC faction - if (!info.mFaction.empty()) + if (info.mFactionLess) + { + if (isCreature) + return true; + + if (!mActor.getClass().getPrimaryFaction(mActor).empty()) + return false; + } + else if (!info.mFaction.empty()) { if (isCreature) return true;