Is there a way to save the current buffer position on a per-window basis, instead of just a per-buffer basis? For example, the following will move point in both windows to the same location

Split-window
Navigate to same file in both windows
In one window, move to a different location.  Then, call describe-function, which uses the other window.
Switch to the *help* window and go back to the original location.  The old point is lost and replaced with the point in the other buffer.

Is there a way to have the old point location be saved, even if it is not displayed at the moment?