diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 5f022498f08..1a9b48dde54 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
+	ABI.
+
 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* elf32-arc.c: Fix formatting.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 0a92e5d2ef5..f3464d5391f 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -375,7 +375,7 @@ static bfd *reldyn_sorting_bfd;
 
 /* Nonzero if ABFD is using the 64-bit ABI. */
 #define ABI_64_P(abfd) \
-  ((elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64) != 0)
+  ((get_elf_backend_data (abfd)->s->elfclass == ELFCLASS64) != 0)
 
 #define IRIX_COMPAT(abfd) \
   (get_elf_backend_data (abfd)->elf_backend_mips_irix_compat (abfd))