diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b073e9d1933791ef180377c18b02ebd0f26c1d71..7064aae8ded7526856d6be5f137e558cd79e1566 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5921,8 +5921,7 @@ static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
 		mem_map = NODE_DATA(0)->node_mem_map;
 #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
 		if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
-			mem_map -= offset + (pgdat->node_start_pfn -
-				ARCH_PFN_OFFSET);
+			mem_map -= offset;
 #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
 	}
 #endif