diff --git a/src/arch/x86_64/paging/entry.rs b/src/arch/x86_64/paging/entry.rs
index f5d567fa3abf15c9b007542abbeadea75c242509..d9898bf1b3b3d1539436bfab32f0d1b4deffe48e 100644
--- a/src/arch/x86_64/paging/entry.rs
+++ b/src/arch/x86_64/paging/entry.rs
@@ -29,12 +29,12 @@ pub const COUNTER_MASK: u64 = 0x3ff00000_00000000;
 impl Entry {
     /// Is the entry unused?
     pub fn is_unused(&self) -> bool {
-        self.0 == 0
+        self.0 == (self.0 & COUNTER_MASK)
     }
 
     /// Make the entry unused
     pub fn set_unused(&mut self) {
-        self.0 = 0;
+        self.0 = self.0 & COUNTER_MASK;
     }
 
     /// Get the address this page references