diff --git a/linux-ramdump-parser-v2/parsers/pagetracking.py b/linux-ramdump-parser-v2/parsers/pagetracking.py
index 0e97cfc38eeadd32e9a9bbd9d572f102e2f58fe7..d21165cac22949f8769b54ca16c0e298f147077c 100644
--- a/linux-ramdump-parser-v2/parsers/pagetracking.py
+++ b/linux-ramdump-parser-v2/parsers/pagetracking.py
@@ -111,7 +111,12 @@ class PageTracking(RamParser):
                 phys = pfn << 12
                 if phys is None or phys is 0:
                     continue
-                offset = phys >> 30
+                if self.ramdump.is_config_defined('CONFIG_MEMORY_HOTPLUG'):
+                    section_size_bits = int(self.ramdump.get_config_val(
+                                    'CONFIG_HOTPLUG_SIZE_BITS'))
+                    offset = phys >> section_size_bits
+                else:
+                    offset = phys >> 30
 
                 if self.ramdump.is_config_defined('CONFIG_SPARSEMEM'):
                     mem_section_0_offset = (