anchor.diff:    SaveStream: TKMemoryStream;
     DateTimeParam: TDateTime;
   begin
  -  if fSavedReplays.Contains(fGameTick) then //No need to save twice on the same tick
  +  if (fSavedReplays = nil) or fSavedReplays.Contains(fGameTick) then //No need to save twice on the same tick
       Exit;
   
     gLog.AddTime('Saving replay start');
  
positive.code:                           if fGamePlayInterface <> nil then
                              fGamePlayInterface.ReplaySaved;
                          end;
  
                          if gGame = nil then
                            Exit; //Quit if the game was stopped by a replay mismatch
  
                          if not SkipReplayEndCheck and IsReplayEnded then
                            RequestGameHold(grReplayEnd);
  
negative.code:                         //Issue stored commands
                          fGameInputProcess.ReplayTimer(fGameTick);
  
                          if gGame = nil then
                            Exit; //Quit if the game was stopped by a replay mismatch
  
                          //Only increase LastTick, since we could load replay earlier at earlier state
                          if fSavedReplays <> nil then
                            fSavedReplays.LastTick := Max(fSavedReplays.LastTick, fGameTick);
  
                          //Save replay to memory (to be able to load it later)
                          //Make replay save only after everything is updated (UpdateState)
  