Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision a2a00e8d4f4059d97c6514c8276189ab85ff03a8)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 07640dfd0f06086a843fa228d6305345338c4f0c)
@@ -109,4 +109,7 @@
 	if (THREAD && THREAD->interrupted && istate_from_uspace(istate))
 		thread_exit();
+
+	if (THREAD)
+		thread_update_accounting(false);
 }
 
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision a2a00e8d4f4059d97c6514c8276189ab85ff03a8)
+++ kernel/generic/src/proc/task.c	(revision 07640dfd0f06086a843fa228d6305345338c4f0c)
@@ -427,6 +427,6 @@
 
 #ifdef __32_BITS__	
-	printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9" PRIu64 "%c %9"
-		PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as, cycles, suffix,
+	printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9"
+		PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as,
 		ucycles, usuffix, kcycles, ksuffix, atomic_get(&t->refcount),
 		atomic_get(&t->active_calls));
@@ -434,6 +434,6 @@
 
 #ifdef __64_BITS__
-	printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9" PRIu64 "%c %9"
-		PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as, cycles, suffix,
+	printf("%-6" PRIu64 " %-12s %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9"
+		PRIu64 "%c %7ld %6ld", t->taskid, t->name, t->context, t, t->as,
 		ucycles, usuffix, kcycles, ksuffix, atomic_get(&t->refcount),
 		atomic_get(&t->active_calls));
@@ -461,14 +461,14 @@
 #ifdef __32_BITS__	
 	printf("taskid name         ctx address    as        "
-	    " cycles     ucycles    kcycles    threads calls  callee\n");
+	    " ucycles    kcycles    threads calls  callee\n");
 	printf("------ ------------ --- ---------- ----------"
-	    " ---------- ---------- ---------- ------- ------ ------>\n");
+	    " ---------- ---------- ------- ------ ------>\n");
 #endif
 
 #ifdef __64_BITS__
 	printf("taskid name         ctx address            as                "
-	    " cycles     ucycles    kcycles    threads calls  callee\n");
+	    " ucycles    kcycles    threads calls  callee\n");
 	printf("------ ------------ --- ------------------ ------------------"
-	    " ---------- ---------- ---------- ---------- ------- ------ ------>\n");
+	    " ---------- ---------- ---------- ------- ------ ------>\n");
 #endif
 
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision a2a00e8d4f4059d97c6514c8276189ab85ff03a8)
+++ kernel/generic/src/proc/thread.c	(revision 07640dfd0f06086a843fa228d6305345338c4f0c)
@@ -630,13 +630,15 @@
 
 #ifdef __32_BITS__
-	printf("%-6" PRIu64" %-10s %10p %-8s %10p %-3" PRIu32 " %10p %10p %9" PRIu64 "%c %9" PRIu64 "%c %9" PRIu64 "%c ",
-	    t->tid, t->name, t, thread_states[t->state], t->task,
-    	t->task->context, t->thread_code, t->kstack, cycles, suffix, ucycles, usuffix, kcycles, ksuffix);
+	printf("%-6" PRIu64" %-10s %10p %-8s %10p %-3" PRIu32 " %10p %10p %9"
+		PRIu64 "%c %9" PRIu64 "%c ", t->tid, t->name, t,
+		thread_states[t->state], t->task, t->task->context, t->thread_code,
+		t->kstack, ucycles, usuffix, kcycles, ksuffix);
 #endif
 
 #ifdef __64_BITS__
-	printf("%-6" PRIu64" %-10s %18p %-8s %18p %-3" PRIu32 " %18p %18p %9" PRIu64 "%c %9" PRIu64 "%c %9" PRIu64 "%c ",
-	    t->tid, t->name, t, thread_states[t->state], t->task,
-    	t->task->context, t->thread_code, t->kstack, cycles, suffix, ucycles, usuffix, kcycles, ksuffix);
+	printf("%-6" PRIu64" %-10s %18p %-8s %18p %-3" PRIu32 " %18p %18p %9"
+		PRIu64 "%c %9" PRIu64 "%c ", t->tid, t->name, t,
+		thread_states[t->state], t->task, t->task->context, t->thread_code,
+		t->kstack, ucycles, usuffix, kcycles, ksuffix);
 #endif
 			
@@ -672,8 +674,8 @@
 #ifdef __32_BITS__	
 	printf("tid    name       address    state    task       "
-		"ctx code       stack      cycles     ucycles    kcycles    cpu  "
+		"ctx code       stack      ucycles    kcycles    cpu  "
 		"waitqueue\n");
 	printf("------ ---------- ---------- -------- ---------- "
-		"--- ---------- ---------- ---------- ---------- ---------- ---- "
+		"--- ---------- ---------- ---------- ---------- ---- "
 		"----------\n");
 #endif
@@ -681,8 +683,8 @@
 #ifdef __64_BITS__
 	printf("tid    name       address            state    task               "
-		"ctx code               stack              cycles     ucycles    kcycles    cpu  "
+		"ctx code               stack              ucycles    kcycles    cpu  "
 		"waitqueue\n");
 	printf("------ ---------- ------------------ -------- ------------------ "
-		"--- ------------------ ------------------ ---------- ---------- ---------- ---- "
+		"--- ------------------ ------------------ ---------- ---------- ---- "
 		"------------------\n");
 #endif
Index: kernel/generic/src/ps/ps.c
===================================================================
--- kernel/generic/src/ps/ps.c	(revision a2a00e8d4f4059d97c6514c8276189ab85ff03a8)
+++ kernel/generic/src/ps/ps.c	(revision 07640dfd0f06086a843fa228d6305345338c4f0c)
@@ -136,4 +136,6 @@
 	uint64_t cycles = task_get_accounting(t, &ucycles, &kcycles);
 	copy_to_uspace(&uspace_info->cycles, &cycles, sizeof(cycles));
+	copy_to_uspace(&uspace_info->ucycles, &ucycles, sizeof(cycles));
+	copy_to_uspace(&uspace_info->kcycles, &kcycles, sizeof(cycles));
 
 	size_t pages = get_pages_count(t->as);
@@ -171,4 +173,6 @@
 	result.priority = t->priority;
 	result.cycles = t->cycles;
+	result.ucycles = t->ucycles;
+	result.kcycles = t->kcycles;
 
 	if (t->cpu)
Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision a2a00e8d4f4059d97c6514c8276189ab85ff03a8)
+++ kernel/generic/src/syscall/syscall.c	(revision 07640dfd0f06086a843fa228d6305345338c4f0c)
@@ -62,4 +62,7 @@
 	unative_t rc;
 
+	/* Do userpace accounting */
+	thread_update_accounting(true);
+
 #ifdef CONFIG_UDEBUG
 	/*
@@ -96,4 +99,7 @@
 	}
 #endif
+
+	/* Do kernel accounting */
+	thread_update_accounting(false);
 	
 	return rc;
