diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b18653c6cb7..6adc1a18d4f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+1999-08-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+	* elflink.h (record_link_assignment): When possible, keep the
+	original type of the symbol.
+
 Mon Aug 30 15:26:48 1999  Jeffrey A Law  (law@cygnus.com)
 
 	* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
diff --git a/bfd/elflink.h b/bfd/elflink.h
index f6727a6aec1..be38fb9d27d 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -2371,7 +2371,10 @@ NAME(bfd_elf,record_link_assignment) (output_bfd, info, name, provide)
     h->verinfo.verdef = NULL;
 
   h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
-  h->type = STT_OBJECT;
+
+  /* When possible, keep the original type of the symbol */
+  if (h->type == STT_NOTYPE)
+    h->type = STT_OBJECT;
 
   if (((h->elf_link_hash_flags & (ELF_LINK_HASH_DEF_DYNAMIC
 				  | ELF_LINK_HASH_REF_DYNAMIC)) != 0