diff --git a/x86_64-gen.c b/x86_64-gen.c
index a71e2092..72842d6d 100644
--- a/x86_64-gen.c
+++ b/x86_64-gen.c
@@ -257,8 +257,7 @@ ST_FUNC void gen_addr64(int r, Sym *sym, int64_t c)
 /* output constant with relocation if 'r & VT_SYM' is true */
 ST_FUNC void gen_addrpc32(int r, Sym *sym, int c)
 {
-    if (r & VT_SYM)
-        greloca(cur_text_section, sym, ind, R_X86_64_PC32, c-4), c=4;
+    greloca(cur_text_section, sym, ind, R_X86_64_PC32, 0);
     gen_le32(c-4);
 }