diff --git a/src/arch/x86_64/paging/mod.rs b/src/arch/x86_64/paging/mod.rs
index 70d1f0d638df9fda85fceb17fc6c49b8f0a8b2d9..b7ed90667024526a377c8a49df919733ea5498ae 100644
--- a/src/arch/x86_64/paging/mod.rs
+++ b/src/arch/x86_64/paging/mod.rs
@@ -265,7 +265,10 @@ impl ActivePageTable {
             })
         };
         unsafe {
+            // Activate new page table
             RmmA::set_table(new_table.frame.start_address());
+            // Update mapper to new page table
+            self.mapper = Mapper::current();
         }
         old_table
     }
diff --git a/src/context/arch/x86_64.rs b/src/context/arch/x86_64.rs
index bebc8a2aba75109dea13cd426a378f31b8e83df4..ebb56d0e20b491604eb2af349136cd704e6862bf 100644
--- a/src/context/arch/x86_64.rs
+++ b/src/context/arch/x86_64.rs
@@ -76,7 +76,7 @@ impl Context {
         }
     }
 
-    pub fn get_page_utable(&mut self) -> usize {
+    pub fn get_page_utable(&self) -> usize {
         self.cr3
     }