diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index a83b2da8f13..617cf09f8df 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -645,7 +645,9 @@ uint32 SpellEffectInfo::GetProvidedTargetMask() const uint32 SpellEffectInfo::GetMissingTargetMask(bool srcSet /*= false*/, bool dstSet /*= false*/, uint32 mask /*=0*/) const { uint32 effImplicitTargetMask = GetTargetFlagMask(GetUsedTargetObjectType()); - uint32 providedTargetMask = GetTargetFlagMask(TargetA.GetObjectType()) | GetTargetFlagMask(TargetB.GetObjectType()) | mask; + uint32 providedTargetMask = GetProvidedTargetMask() | mask; + if (!providedTargetMask) // no targets to select + return 0; // remove all flags covered by effect target mask if (providedTargetMask & TARGET_FLAG_UNIT_MASK)