It has been always this way. On EOF() record poiner is positioned on non-existent blank record with # RECCOUNT() + 1.
>
>Yes I know that set filt doesn't move the file pointer - that's why I do Go Top. I usually do LOCATE (I'm an advocate of doing this) but I changed it to Go Top, in case that was what was causing the problem (as I don't have any indexes on the table), just before posting.
>
>Your solution would seem sound but
>1) I still don't know why I'm getting this mythical extra rec no (and with me it's like "I gots to know" :-)).
>2) In this very case, I'd have to issue:
>
>If lnRecNo > 0
> Goto lnRecNo
>Endif
>
>which means, in the "all hidden" case I still wouldn't be able to get back to my current record when I toggle back to show.
>
--sb--