diff -Nua 2.6/kernel/sched.c.0 2.6/kernel/sched.c --- 2.6/kernel/sched.c.0 2004-01-13 17:53:34.000000000 -0500 +++ 2.6/kernel/sched.c 2004-01-13 17:47:33.000000000 -0500 @@ -2062,7 +2062,7 @@ * our priority decreased, or if we are not currently running on * this runqueue and our priority is higher than the current's */ - if (rq->curr == p) { + if (task_running(rq, p)) { if (p->prio > oldprio) resched_task(rq->curr); } else if (p->prio < rq->curr->prio)