diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 5224fb38d766d5e76ed6055c80a8c31ce1b17df4..01d7071b23f7ad3f70736dd0ae88fbca0fcaeed1 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -562,7 +562,7 @@ void __init mem_init(void)
 			> BITS_PER_LONG);
 
 	high_memory = __va((max_pfn << PAGE_SHIFT));
-	set_max_mapnr(page_to_pfn(virt_to_page(high_memory - 1)) + 1);
+	set_max_mapnr(max_low_pfn);
 	memblock_free_all();
 
 #ifdef CONFIG_PA11