diff --git a/kernel/sched/idle_task.c b/kernel/sched/idle_task.c
index d5530f84bd09839db087717e605d1cfab3f36954..3dce92055e4f3d03fbc70849d30e1381603c6c26 100644
--- a/kernel/sched/idle_task.c
+++ b/kernel/sched/idle_task.c
@@ -27,7 +27,6 @@ static struct task_struct *
 pick_next_task_idle(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
 {
 	int next_mode;
-	struct pb_rq *pb = &(rq->pb);
 
 	next_mode = determine_next_mode_pb(rq);
 
@@ -62,6 +61,7 @@ static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
 
 static void task_tick_idle(struct rq *rq, struct task_struct *curr, int queued)
 {
+	struct pb_rq *pb = &(rq->pb);
 	int next_mode;
 
 	if(pb->mode==PB_ADMIN_MODE){