I need to modify the hash, remove it after certain processing takes place so that if the user refreshes they do not cause the process to run again.
This works fine
@JarneCook seems to be right - it is a bug in IE.
You might be able to just do:
at the top of your page. In normal circumstances, this should be a no-op, but if the user is using IE and has arrived via a redirect, the page will reload before they even notice it has loaded.