Index: genarch/src/mm/page_ht.c
===================================================================
--- genarch/src/mm/page_ht.c	(revision 901122b76a38d233577a852f5a04c30119c5d5de)
+++ genarch/src/mm/page_ht.c	(revision a2a46ba180ede6fa62fc39caa28877a06ce899a4)
@@ -42,4 +42,5 @@
 #include <memstr.h>
 #include <adt/hash_table.h>
+#include <align.h>
 
 static index_t hash(__native key[]);
@@ -165,5 +166,5 @@
 {
 	pte_t *t;
-	__native key[2] = { (__address) as, page };
+	__native key[2] = { (__address) as, page = ALIGN_DOWN(page, PAGE_SIZE) };
 	
 	spinlock_lock(&page_ht_lock);
@@ -203,5 +204,5 @@
 void ht_mapping_remove(as_t *as, __address page)
 {
-	__native key[2] = { (__address) as, page };
+	__native key[2] = { (__address) as, page = ALIGN_DOWN(page, PAGE_SIZE) };
 	
 	spinlock_lock(&page_ht_lock);
@@ -232,5 +233,5 @@
 	link_t *hlp;
 	pte_t *t = NULL;
-	__native key[2] = { (__address) as, page };
+	__native key[2] = { (__address) as, page = ALIGN_DOWN(page, PAGE_SIZE) };
 	
 	spinlock_lock(&page_ht_lock);
