Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision 4039c77090864ee87e13b9865dbfd0a2bcd56c2f)
+++ kernel/generic/src/syscall/syscall.c	(revision 5e984f296b2eda2b4b5d68452cfbc8c1134ca2c7)
@@ -60,7 +60,12 @@
 {
 	unative_t rc;
+	ipl_t ipl;
 
 	/* Do userpace accounting */
+	ipl = interrupts_disable();
+	spinlock_lock(&THREAD->lock);
 	thread_update_accounting(true);
+	spinlock_unlock(&THREAD->lock);
+	interrupts_restore(ipl);
 
 #ifdef CONFIG_UDEBUG
@@ -100,5 +105,9 @@
 
 	/* Do kernel accounting */
+	ipl = interrupts_disable();
+	spinlock_lock(&THREAD->lock);
 	thread_update_accounting(false);
+	spinlock_unlock(&THREAD->lock);
+	interrupts_restore(ipl);
 	
 	return rc;
