diff --git a/linux-ramdump-parser-v2/parsers/pagetracking.py b/linux-ramdump-parser-v2/parsers/pagetracking.py
index 072362c9ac838502b7c66a9de2562c5ac056a332..71d9049f1c2a91fcda744aee57e624ec5991b222 100644
--- a/linux-ramdump-parser-v2/parsers/pagetracking.py
+++ b/linux-ramdump-parser-v2/parsers/pagetracking.py
@@ -55,6 +55,12 @@ class PageTracking(RamParser):
                                 'struct page_ext', 'nr_entries')
             mem_section_size = self.ramdump.sizeof("struct mem_section")
             page_ext_size = self.ramdump.sizeof("struct page_ext")
+            if self.ramdump.kernel_version >= (4,9,0):
+                page_owner_size = self.ramdump.sizeof("struct page_owner")
+                page_ext_size = page_ext_size + page_owner_size
+                page_owner_ops_offset = self.ramdump.read_structure_field(
+                    'page_owner_ops', 'struct page_ext_operations', 'offset')
+
 
         out_tracking = self.ramdump.open_file('page_tracking.txt')
         out_frequency = self.ramdump.open_file('page_frequency.txt')
@@ -85,8 +91,12 @@ class PageTracking(RamParser):
                 page_ext = self.ramdump.read_word(
                             mem_section_0_offset + page_ext_offset)
                 temp_page_ext = page_ext + (pfn * page_ext_size)
-
-                order = self.ramdump.read_structure_field(
+                if self.ramdump.kernel_version >= (4,9,0):
+                    temp_page_ext = temp_page_ext + page_owner_ops_offset
+                    order = self.ramdump.read_structure_field(
+                                temp_page_ext, 'struct page_owner', 'order')
+                else:
+                    order = self.ramdump.read_structure_field(
                             temp_page_ext, 'struct page_ext', 'order')
                 if not self.ramdump.is_config_defined('CONFIG_STACKDEPOT'):
 
@@ -95,8 +105,13 @@ class PageTracking(RamParser):
                     struct_holding_trace_entries = temp_page_ext
 
                 else:
-                    handle = self.ramdump.read_structure_field(
+                    if self.ramdump.kernel_version >= (4,9,0):
+                        handle = self.ramdump.read_structure_field(
+                            temp_page_ext, 'struct page_owner', 'handle')
+                    else:
+                        handle = self.ramdump.read_structure_field(
                             temp_page_ext, 'struct page_ext', 'handle')
+
                     slabindex     = handle & 0x1fffff
                     handle_offset = (handle  >> 0x15) & 0x3ff
                     handle_offset = handle_offset << 4