anchor.diff:          (gNetworking.NetPlayers[I].HandIndex = fSchedule[tick, I].Items[K].HandIndex)
              or (fSchedule[tick, I].Items[K].CommandType in ALLOWED_BY_SPECTATORS) then
         begin
  -        StoreCommand(fSchedule[tick, I].Items[K]); //Store the command first so if Exec fails we still have it in the replay
  +        // Store the command first so if Exec fails we still have it in the replay
  +        StoreCommand(fSchedule[tick, I].Items[K]);
           ExecCommand(fSchedule[tick, I].Items[K]);
  -        //Returning to the lobby ends the game
  +        // Returning to the lobby ends the game
           if gGame = nil then Exit;
         end;
       end;
  
positive.code:       and (gNetworking.NetGameState = lgsGame) then //Don't send commands unless game is running normally
      begin
        if not fCommandIssued[I mod MAX_SCHEDULE] then
          fSchedule[I mod MAX_SCHEDULE, gNetworking.MyIndex].Clear; //No one has used it since last time through the ring buffer
        fCommandIssued[I mod MAX_SCHEDULE] := False; //Make it as requiring clearing next time around
  
        fLastSentCmdsTick := I;
  
negative.code:     Exit;
    end;
  
    if not gGameParams.IsSpectatorGame
      and gMySpectator.Hand.AI.HasLost
      and not (aCommand.CommandType in ALLOWED_AFTER_DEFEAT) then
    begin
      gSoundPlayer.Play(sfxCantPlace);
      Exit;
  