Index: generic/src/proc/scheduler.c
===================================================================
--- generic/src/proc/scheduler.c	(revision e18cf3d2c00cddd79eafdc91fef81dc3df0667d5)
+++ generic/src/proc/scheduler.c	(revision 7ca8b36b2dc6cb2925ae421b90060d16fd60a84a)
@@ -422,6 +422,4 @@
 	relink_rq(priority);		
 
-	spinlock_lock(&THREAD->lock);	
-
 	/*
 	 * If both the old and the new task are the same, lots of work is avoided.
@@ -455,4 +453,5 @@
 	}
 
+	spinlock_lock(&THREAD->lock);	
 	THREAD->state = Running;
 
