Index: generic/src/proc/scheduler.c
===================================================================
--- generic/src/proc/scheduler.c	(revision 81c4c6dada72dd5c14ac33cf62aedf58dc032b06)
+++ generic/src/proc/scheduler.c	(revision 1b109cb54251e71a61747f3f1cdfbf22e71ef8d6)
@@ -353,5 +353,4 @@
 		switch (THREAD->state) {
 		    case Running:
-			THREAD->state = Ready;
 			spinlock_unlock(&THREAD->lock);
 			thread_ready(THREAD);
Index: generic/src/proc/task.c
===================================================================
--- generic/src/proc/task.c	(revision 81c4c6dada72dd5c14ac33cf62aedf58dc032b06)
+++ generic/src/proc/task.c	(revision 1b109cb54251e71a61747f3f1cdfbf22e71ef8d6)
@@ -160,5 +160,5 @@
 		t = list_get_instance(cur, task_t, tasks_link);
 		spinlock_lock(&t->lock);
-		printf("%s: address=%P, taskid=%Q, as=%P, ActiveCalls: %d",
+		printf("%s: address=%P, taskid=%Q\n\tas=%P, ActiveCalls: %d",
 			t->name, t, t->taskid, t->as, atomic_get(&t->active_calls));
 		for (i=0; i < IPC_MAX_PHONES; i++) {
Index: generic/src/proc/thread.c
===================================================================
--- generic/src/proc/thread.c	(revision 81c4c6dada72dd5c14ac33cf62aedf58dc032b06)
+++ generic/src/proc/thread.c	(revision 1b109cb54251e71a61747f3f1cdfbf22e71ef8d6)
@@ -184,4 +184,6 @@
 	spinlock_lock(&t->lock);
 
+	ASSERT(! (t->state == Ready));
+
 	i = (t->priority < RQ_COUNT -1) ? ++t->priority : t->priority;
 	
@@ -416,5 +418,5 @@
 	for (cur=threads_head.next; cur!=&threads_head; cur=cur->next) {
 		t = list_get_instance(cur, thread_t, threads_link);
-		printf("%s: address=%P, tid=%d, state=%s, task=%P, code=%P, stack=%P, cpu=",
+		printf("%s: address=%P, tid=%d, state=%s\n\ttask=%P, code=%P, stack=%P, cpu=",
 			t->name, t, t->tid, thread_states[t->state], t->task, t->thread_code, t->kstack);
 		if (t->cpu)
