Switch Between Bibliography and Appendix in fancyhdr

What I am trying to accomplish is a fancyhdr that places Appendix or Bibliography in the header with one single definition. So if I am in the bibliography it should display Bibliography, but should display Appendix otherwise.

\documentclass{report}
\usepackage{fancyhdr}
\usepackage{etoolbox}

\newcommand{\backmatter}{
\fancyhdr[C]{\ifstrequal{\leftmark}{\MakeUppercase{\bibname}}
{\bibname}{\appendixname\ \thechapter}}

\begin{document}
\backmatter
\bibliography{my.bib}
\appendix
\chapter{Appendix}
\end{document}


The ifstrequal always evaluates as false and so always produces Appendix in the header. Thank you in advance for your help.

EDIT: My new solution is as follows

\documentclass{report}
\usepackage{fancyhdr}
\usepackage{etoolbox}

\begin{document}
\bibliography{my.bib}
\appendix
\chapter{Appendix}
\end{document}


However, when my bibliography hits the third page it displays Appendix again.

Edit 2: The following works

\documentclass{report}
\usepackage{fancyhdr}
\usepackage{etoolbox}

\begin{document}
\bibliography{my.bib}
\appendix
\chapter{Appendix}
\end{document}

-
The page breaks may indeed give timing problems. I'd simply set the header explicitly in the document. – egreg Apr 15 '12 at 19:31
I am making a class file for other people to use on their thesis, so that is an option but sort of defeats the purpose. Thank you for the suggestion. – lvleph Apr 16 '12 at 11:25
\preptocmd should be \pretocmd I think (2x)... – Matthias May 6 '12 at 11:11

The main problem is that \leftmark doesn't contain \MakeUppercase{\bibname}, but a more complicated thing. There are also other expansion problems.

If your backmatter is in that form, I suggest

\newif\ifbiblio
\newcommand{\backmatter}{%

The conditional will be true from \backmatter until after the page change for the start of the appendices.