diff --git a/Core/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/Core/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index 4799c9aa33e..36449abf29c 100644 --- a/Core/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/Core/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -2495,12 +2495,13 @@ void W3DModelDraw::handleClientTurretPositioning() */ void W3DModelDraw::handleClientRecoil() { - const W3DModelDrawModuleData* d = getW3DModelDrawModuleData(); - if (!(m_curState->m_validStuff & ModelConditionInfo::BARRELS_VALID)) + if (!m_curState || !(m_curState->m_validStuff & ModelConditionInfo::BARRELS_VALID)) { return; } + const W3DModelDrawModuleData* d = getW3DModelDrawModuleData(); + // do recoil, if any for (int wslot = 0; wslot < WEAPONSLOT_COUNT; ++wslot) {