diff --git a/arch/x86/cpu/call64.S b/arch/x86/cpu/call64.S
index 74dd5a89dceeb3e55dcb6e7400b154d7b7cf2444..08dc473d6af40e528f574c19f26fae07cb658778 100644
--- a/arch/x86/cpu/call64.S
+++ b/arch/x86/cpu/call64.S
@@ -82,8 +82,8 @@ lret_target:
 
 	.data
 gdt:
-	.word	gdt_end - gdt
-	.long	gdt
+	.word	gdt_end - gdt - 1
+	.long	gdt			/* Fixed up by code above */
 	.word	0
 	.quad	0x0000000000000000	/* NULL descriptor */
 	.quad	0x00af9a000000ffff	/* __KERNEL_CS */