diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
index e718d4b26ff5fd79a9a08a0bfba38c426e373bb6..445d5a17345585b1cf467b9d80c649bf95f6e68e 100644
--- a/arch/x86/cpu/start16.S
+++ b/arch/x86/cpu/start16.S
@@ -24,6 +24,9 @@ start16:
 	/* Set the Cold Boot / Hard Reset flag */
 	movl	$GD_FLG_COLD_BOOT, %ebx
 
+	xorl	%eax, %eax
+	movl	%eax, %cr3    /* Invalidate TLB */
+
 	/* Turn off cache (this might require a 486-class CPU) */
 	movl	%cr0, %eax
 	orl	$(X86_CR0_NW | X86_CR0_CD), %eax