diff --git a/bfd/elf.c b/bfd/elf.c
index dcf8f61e043..1c88c379ea0 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -6335,6 +6335,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
 		{
 		  if (this_hdr->sh_type != SHT_NOBITS)
 		    {
+		      off -= off_adjust;
 		      off_adjust = 0;
 		      if (p->p_filesz + adjust < p->p_memsz)
 			{
