diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs
index 47331f5af660f04a481ea31dfa9be48fd2152330..4aea9b41008ff5fb893746e1a01129d750861a42 100644
--- a/src/ld_so/linker.rs
+++ b/src/ld_so/linker.rs
@@ -666,7 +666,7 @@ impl Linker {
                         set_u64(tm as u64);
                     }
                     reloc::R_X86_64_DTPOFF64 => {
-                        set_u64((s + a) as u64);
+                        set_u64(rel.r_offset as u64);
                     }
                     reloc::R_X86_64_GLOB_DAT | reloc::R_X86_64_JUMP_SLOT => {
                         set_u64(s as u64);