Index: kernel/arch/ia32/src/smp/smp.c
===================================================================
--- kernel/arch/ia32/src/smp/smp.c	(revision 99d6fd07a4e12eb667d2cfa2d3fdb3b5f63800b2)
+++ kernel/arch/ia32/src/smp/smp.c	(revision 7f0e7b696fe2c815f85837c0148c677da23ce655)
@@ -83,9 +83,11 @@
 		panic("Cannot allocate address for io_apic.");
 
-	if (config.cpu_count > 1) {		
+	if (config.cpu_count > 1) {
+		page_table_lock(AS_KERNEL, true);
 		page_mapping_insert(AS_KERNEL, l_apic_address,
 		    (uintptr_t) l_apic, PAGE_NOT_CACHEABLE | PAGE_WRITE);
 		page_mapping_insert(AS_KERNEL, io_apic_address,
 		    (uintptr_t) io_apic, PAGE_NOT_CACHEABLE | PAGE_WRITE);
+		page_table_unlock(AS_KERNEL, true);
 				  
 		l_apic = (uint32_t *) l_apic_address;
