Index: kernel/generic/src/mm/backend_elf.c
===================================================================
--- kernel/generic/src/mm/backend_elf.c	(revision c7f8fc51fa4e2584f4d22bf004036fe6936e4a40)
+++ kernel/generic/src/mm/backend_elf.c	(revision d56382d76ccb7c32d44dba5afaf11a973ee2e2bb)
@@ -310,8 +310,9 @@
 		if (entry->p_flags & PF_W) {
 			kpage = km_temporary_page_get(&frame, FRAME_NO_RESERVE);
-			memcpy((void *) kpage, (void *) (base + i * FRAME_SIZE),
+			memcpy((void *) kpage, (void *) (base + i * PAGE_SIZE),
 			    PAGE_SIZE);
-			if (entry->p_flags & PF_X)
-				smc_coherence_block((void *) kpage, FRAME_SIZE);
+			if (entry->p_flags & PF_X) {
+				smc_coherence_block((void *) kpage, PAGE_SIZE);
+			}
 			km_temporary_page_put(kpage);
 			dirty = true;
