Index: kernel/generic/src/ps/ps.c
===================================================================
--- kernel/generic/src/ps/ps.c	(revision 7a3ccbc6e1c0aa8975d8336895a58f02c44c4808)
+++ kernel/generic/src/ps/ps.c	(revision faf38b24fb042fe9f1d90d5bb4cc3c9364782df0)
@@ -48,5 +48,4 @@
 static size_t count;
 static size_t max_count;
-static task_t *selected_task;
 
 #define WRITE_TASK_ID(dst, i, src) copy_to_uspace(dst + i, src, sizeof(task_id_t))
@@ -163,9 +162,4 @@
 	spinlock_lock(&t->lock);
 
-	if (t->task != selected_task) {
-		spinlock_unlock(&t->lock);
-		return true;
-	}
-
 	++count;
 	if (count > max_count) {
@@ -175,4 +169,6 @@
 	
 	result.tid = t->tid;
+	ASSERT(t->task);
+	result.taskid = t->task->taskid;
 	result.state = t->state;
 	result.priority = t->priority;
@@ -191,19 +187,10 @@
 }
 
-int sys_ps_get_threads(task_id_t *uspace_id, thread_info_t *uspace_infos, size_t size)
+int sys_ps_get_threads(thread_info_t *uspace_infos, size_t size)
 {
 	ipl_t ipl;
 	ipl = interrupts_disable();
 
-	task_id_t id;
-	copy_from_uspace(&id, uspace_id, sizeof(task_id_t));
-	spinlock_lock(&tasks_lock);
-	selected_task = task_find_by_id(id);
-	spinlock_unlock(&tasks_lock);
-
-	if (!selected_task) {
-		return 0;
-	}
-
+	printf("LIst threads, size: %llu\n", size);
 	spinlock_lock(&threads_lock);
 
