diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 247a81dcb..1fd7d6a35 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -537,7 +537,11 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData) std::shared_ptr newChar(new Player(this), [](Player* ptr) { - ptr->CleanupsBeforeDelete(); + // Only when player is created correctly do clean + if (ptr->HasAtLoginFlag(AT_LOGIN_FIRST)) + { + ptr->CleanupsBeforeDelete(); + } delete ptr; });