diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fdfc2e12e2811f7fe7f641aa3254cfc779bfb389..862540cfa6767c16b3e9136af09346c4567af57c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub
+	when !can_plt_call.
+
 2005-07-12  Alan Modra  <amodra@bigpond.net.au>
 
 	* elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix.
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 402e859756fe974acb90d7d8dbebd7195bd95a18..545fae83503b2dfc9b3138bad23f0e3e17c0bf35 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -9998,6 +9998,8 @@ ppc64_elf_relocate_section (bfd *output_bfd,
 		      br = bfd_get_32 (input_bfd, contents + rel->r_offset);
 		      if ((br & 1) == 0)
 			can_plt_call = TRUE;
+		      else
+			stub_entry = NULL;
 		    }
 		  else if (h != NULL
 			   && strcmp (h->elf.root.root.string,