Index: generic/src/proc/scheduler.c
===================================================================
--- generic/src/proc/scheduler.c	(revision 23684b75fbd877e18cebd073cdb4a435652e8c2c)
+++ generic/src/proc/scheduler.c	(revision 52011995a20ff6a71843bc616b3d864854e38772)
@@ -563,4 +563,5 @@
 #endif
 				t->flags |= X_STOLEN;
+				t->state = Entering;
 				spinlock_unlock(&t->lock);
 	
Index: generic/src/proc/task.c
===================================================================
--- generic/src/proc/task.c	(revision 23684b75fbd877e18cebd073cdb4a435652e8c2c)
+++ generic/src/proc/task.c	(revision 52011995a20ff6a71843bc616b3d864854e38772)
@@ -118,4 +118,5 @@
 
 	as = as_create(0);
+	ASSERT(as);
 
 	rc = elf_load((elf_header_t *) program_addr, as);
@@ -133,13 +134,15 @@
 	
 	task = task_create(as, name);
-	t = thread_create(uinit, kernel_uarg, task, 0, "uinit");
-	
+	ASSERT(task);
+
 	/*
 	 * Create the data as_area.
 	 */
 	a = as_area_create(as, AS_AREA_READ | AS_AREA_WRITE, PAGE_SIZE, USTACK_ADDRESS);
+
+	t = thread_create(uinit, kernel_uarg, task, 0, "uinit");
+	ASSERT(t);
+	thread_ready(t);
 	
-	thread_ready(t);
-
 	return task;
 }
@@ -160,5 +163,5 @@
 		t = list_get_instance(cur, task_t, tasks_link);
 		spinlock_lock(&t->lock);
-		printf("%s: address=%P, taskid=%Q\n\tas=%P, ActiveCalls: %d",
+		printf("%s: address=%P, taskid=%Q, as=%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 23684b75fbd877e18cebd073cdb4a435652e8c2c)
+++ generic/src/proc/thread.c	(revision 52011995a20ff6a71843bc616b3d864854e38772)
@@ -416,5 +416,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\n\ttask=%P, code=%P, stack=%P, cpu=",
+		printf("%s: address=%P, tid=%d, state=%s, task=%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)
