diff --git a/linux-ramdump-parser-v2/mm.py b/linux-ramdump-parser-v2/mm.py
index 0cfc86eff96fd244dc366de2c1eba123d239b279..73039926c64e43be62a5416a128de05c66022fc3 100644
--- a/linux-ramdump-parser-v2/mm.py
+++ b/linux-ramdump-parser-v2/mm.py
@@ -135,7 +135,7 @@ def pfn_to_page_flat(ramdump, pfn):
     page_size = ramdump.sizeof('struct page')
     # XXX Needs to change for LPAE
     pfn_offset = ramdump.phys_offset >> 12
-    return mem_map + (pfn * page_size) - pfn_offset
+    return mem_map + ((pfn - pfn_offset) * page_size)
 
 
 def page_to_pfn(ramdump, page):