diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a777e5f6ad..3f5fb3411c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15809,10 +15809,12 @@ bool Player::CanShareQuest(uint32 quest_id) const void Player::SetQuestStatus(uint32 questId, QuestStatus status, bool update /*= true*/) { - if (sObjectMgr->GetQuestTemplate(questId)) + if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId)) { m_QuestStatus[questId].Status = status; - m_QuestStatusSave[questId] = QUEST_DEFAULT_SAVE_TYPE; + + if (!quest->IsAutoComplete()) + m_QuestStatusSave[questId] = QUEST_DEFAULT_SAVE_TYPE; } if (update)