\let\hypernoname=\relax
\def\@bibitem#1{\@noitemargtrue\@item
                [\hyperdef\hypernoname{reference}{\the\value{\@listctr}}%
                {\the\value{\@listctr}}]\if@filesw \immediate\write\@auxout
{\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}

\def\bibcite#1#2{\expandafter\xdef\csname b@#1\endcsname{\hyper@\hyperpr@ref
                 {}{reference}{#2}{#2}}%
                 \expandafter\gdef\csname hyperb@#1\endcsname{#2}%
                 \@SetMaxRefLabel{#1}}

\def\@lbibitem[#1]#2{\item[{\def\protect{}\xdef\hypert@mp{#1}}%
                            \edef\hypert@mp{\hypert@mp}%
                            \edef\hypert@mp{\hypert@mp}%
                           \hyperdef\hypernoname{reference}{\hypert@mp}%
                           {\@BIBLABEL{#1}}\global\let\hypert@mp=\relax]\if@filesw
{\def\protect##1{\string ##1\space}\immediate
\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}

