diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 6ab6150c8560d5b1d11d3ce8fcc8c2673a652d30..a1a429a410efd2235598224eb60577fc2fcc1975 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1225,6 +1225,7 @@ static void __init xen_pagetable_p2m_setup(void)
 static void __init xen_pagetable_init(void)
 {
 	paging_init();
+	xen_post_allocator_init();
 
 	xen_pagetable_p2m_setup();
 
@@ -1236,7 +1237,6 @@ static void __init xen_pagetable_init(void)
 		xen_remap_memory();
 
 	xen_setup_shared_info();
-	xen_post_allocator_init();
 }
 static void xen_write_cr2(unsigned long cr2)
 {