diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index cb0cf37dac3a4e0d3c4dd0562e18ad0046f0ff24..ae51670878457d9b0db2498ee032d5735933e96f 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -364,7 +364,7 @@ static int __sprint_symbol(char *buffer, unsigned long address,
 	address += symbol_offset;
 	name = kallsyms_lookup(address, &size, &offset, &modname, buffer);
 	if (!name)
-		return sprintf(buffer, "0x%lx", address);
+		return sprintf(buffer, "0x%lx", address - symbol_offset);
 
 	if (name != buffer)
 		strcpy(buffer, name);