Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision 214ec25cbbfd86e547613a9d32809cef432e810d)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 6cb8dba0db19a0ab69da1cae8e595d900987c579)
@@ -103,12 +103,12 @@
 #endif
 	
-	uint64_t begin_cycle = get_cycle();
-	
 	/* Account user cycles */
 	if (THREAD) {
 		irq_spinlock_lock(&THREAD->lock, false);
-		THREAD->ucycles += begin_cycle - THREAD->last_cycle;
+		thread_update_accounting(true);
 		irq_spinlock_unlock(&THREAD->lock, false);
 	}
+	
+	uint64_t begin_cycle = get_cycle();
 	
 #ifdef CONFIG_UDEBUG
@@ -130,4 +130,5 @@
 	/* Account exception handling */
 	uint64_t end_cycle = get_cycle();
+	
 	exc_table[n].cycles += end_cycle - begin_cycle;
 	exc_table[n].count++;
