Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 2fc3b2d05b5d9a340bc5ffa989863c77d50edd15)
+++ kernel/generic/src/mm/as.c	(revision 433d52fe91b3e7709b7bb9c89bfee0764f64b33b)
@@ -1395,17 +1395,7 @@
 	mutex_unlock(&area->sh_info->lock);
 
-	/*
-	 * Compute total number of used pages
-	 */
-	size_t used_pages = 0;
-
-	used_space_ival_t *ival = used_space_first(&area->used_space);
-	while (ival != NULL) {
-		used_pages += ival->count;
-		ival = used_space_next(ival);
-	}
-
 	/* An array for storing frame numbers */
-	uintptr_t *old_frame = malloc(used_pages * sizeof(uintptr_t));
+	uintptr_t *old_frame = malloc(area->used_space.pages *
+	    sizeof(uintptr_t));
 	if (!old_frame) {
 		mutex_unlock(&area->lock);
@@ -1428,5 +1418,5 @@
 	size_t frame_idx = 0;
 
-	ival = used_space_first(&area->used_space);
+	used_space_ival_t *ival = used_space_first(&area->used_space);
 	while (ival != NULL) {
 		uintptr_t ptr = ival->page;
