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