diff --git a/rts/Schedule.c b/rts/Schedule.c
index 7c945e0ec3c1dd967d83f4b1ae160cc9686fbed8..382ba97fbc849810c2525998640d74b6ace96395 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -1874,9 +1874,9 @@ scheduleThread(Capability *cap, StgTSO *tso)
 void
 scheduleThreadOn(Capability *cap, StgWord cpu USED_IF_THREADS, StgTSO *tso)
 {
-#if defined(THREADED_RTS)
     tso->flags |= TSO_LOCKED; // we requested explicit affinity; don't
 			      // move this thread from now on.
+#if defined(THREADED_RTS)
     cpu %= RtsFlags.ParFlags.nNodes;
     if (cpu == cap->no) {
 	appendToRunQueue(cap,tso);