Index: generic/src/mm/as.c
===================================================================
--- generic/src/mm/as.c	(revision d9e11ff2ca99628fcd951c1b400d7056854f195b)
+++ generic/src/mm/as.c	(revision d99d8c8981900bab307449e417882d0a2e868c73)
@@ -404,6 +404,6 @@
 				ASSERT(PTE_PRESENT(pte));
 				frame_free(ADDR2PFN(PTE_GET_FRAME(pte)));
+				page_mapping_remove(as, area->base + i*PAGE_SIZE);
 			}
-			page_mapping_remove(as, area->base + i*PAGE_SIZE);
 		}
 		/*
@@ -413,10 +413,7 @@
 		tlb_invalidate_pages(AS->asid, area->base + pages*PAGE_SIZE, area->size - pages);
 		tlb_shootdown_finalize();
-	} else {
-		/*
-		 * Growing the area.
-		 */
-		area->size = size;
-	}
+	} 
+
+	area->size = pages;
 	
 	spinlock_unlock(&area->lock);
