Index: generic/src/proc/scheduler.c
===================================================================
--- generic/src/proc/scheduler.c	(revision e18cf3d2c00cddd79eafdc91fef81dc3df0667d5)
+++ generic/src/proc/scheduler.c	(revision cf464d1cc863822647b909d4187cbb00a7e71d45)
@@ -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;
 
