Hi

Thanks for the comment, I can't show all the code in one block as it is in several procedures and I can't share entire procedures in my client's project. Plus even if I did, it don't think it would help as my debug tests have pinned down exactly where the Selection Object changes.

The line that does it is below and when it happens, it happens on that line every time ...

For Each bm In rgChp.Bookmarks
Before that line runs ...
Selection.Information(wdActiveEndSectionNumber)
... returns a 5

After that line runs ...
Selection.Information(wdActiveEndSectionNumber)

... returns a -1

The range rgChp is created by a function call but the Selection Object is fine when the range is defined.

Can requesting the Bookmarks collection from a Range affect the Selection Object?