diff --git a/linux-ramdump-parser-v2/parsers/pagetracking.py b/linux-ramdump-parser-v2/parsers/pagetracking.py
index 3f100657d36102b4faa11e35ff1f9bbdcda77d06..54712f7c7a5d5bc108140875bb9d442c739cc989 100644
--- a/linux-ramdump-parser-v2/parsers/pagetracking.py
+++ b/linux-ramdump-parser-v2/parsers/pagetracking.py
@@ -38,6 +38,7 @@ class PageTracking(RamParser):
         out_tracking = self.ramdump.open_file('page_tracking.txt')
         out_frequency = self.ramdump.open_file('page_frequency.txt')
         sorted_pages = {}
+        trace_entry_size = self.ramdump.sizeof("unsigned long")
 
         for pfn in range(min_pfn, max_pfn):
             page = pfn_to_page(self.ramdump, pfn)
@@ -46,7 +47,7 @@ class PageTracking(RamParser):
             if page_buddy(self.ramdump, page):
                 continue
 
-            nr_trace_entries = self.ramdump.read_word(
+            nr_trace_entries = self.ramdump.read_int(
                 page + trace_offset + nr_entries_offset)
 
             if nr_trace_entries <= 0 or nr_trace_entries > 16:
@@ -57,7 +58,7 @@ class PageTracking(RamParser):
             alloc_str = ''
             for i in range(0, nr_trace_entries):
                 addr = self.ramdump.read_word(
-                    page + trace_entries_offset + i * 4)
+                    page + trace_entries_offset + i * trace_entry_size)
 
                 if addr == 0:
                     break