diff --git a/game/client/in_main.cpp b/game/client/in_main.cpp index 27d508b56b..b3ff1c468d 100644 --- a/game/client/in_main.cpp +++ b/game/client/in_main.cpp @@ -1020,7 +1020,21 @@ void CInput::ExtraMouseSample( int sequence_number, float frametime, bool active { VPROF( "CInput::ExtraMouseSample" ); - CUserCmd *cmd = &m_pCommands[sequence_number % MULTIPLAYER_BACKUP]; + CUserCmd dummy; + CUserCmd* cmd; + + static int old_sequence_number = 0; + + // Be sure to call this only once per tick. + if ( old_sequence_number != sequence_number ) + { + cmd = &m_pCommands[sequence_number % MULTIPLAYER_BACKUP]; + old_sequence_number = sequence_number; + } + else + { + cmd = &dummy; + } cmd->Reset();