Piet van Ostrum has solved the problem. It is due to a bug in babel.def. See the thread
*babel + fancyhdr + natbib = ! Extra \else *in the comp.text.tex group. He suggests the following correction: In babel.def replace the three occurrences of \noexpand\bbl(at)restore(at)actives with \protect\bbl(at)restore(at)actives with (at) to be replaced by the "at"character. I tried this over several weeks. It works just fine. I suggest that you try this if Latex complains about an extra \else. Ekkehart
