# fancyhdr not centering after changed geometry

I have a document with different page margins, so I have to change geometry settings after fancyhdr loaded. However, the width of header after geometry is not correct.

\documentclass[12pt]{article}
\usepackage[left=35mm, right=35mm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}

\begin{document}
It's fine here.
\newpage

\newgeometry{left=25mm, right=25mm}
PROBLEM: The line of header is 20mm narrower than expected here.
\end{document}

How can I solve this problem?

-
You have to set the \geometry first, then \fancyhead. So in this instance, you have to reset the header. Have you tried that? Ideally, make a complete, minimal working example (MWE) that one can copy-and-paste to reproduce your problem. –  Werner Dec 25 '12 at 5:04
@Werner Thanks for your advices, and I've added the MWE. Also, how to "reset" the header? –  Haocheng Dec 25 '12 at 5:39

Here's a MWE

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\makeatletter
\makeatother

\usepackage{lipsum}
\begin{document}

\lipsum[1-3]

\pagebreak
\newgeometry{margin=1.5in}

\lipsum[1-3]

\pagebreak
\newgeometry{margin=0.75in}