diff --git a/kernel/sched/pb.c b/kernel/sched/pb.c
index 866ebb8ca60f6da98ec5b1ff1cdf6c40e247d83e..79b43c69c8cd5753d9ba628d0bd7d0d2bf4772f9 100644
--- a/kernel/sched/pb.c
+++ b/kernel/sched/pb.c
@@ -25,6 +25,8 @@ int pb_submit_plan(struct pb_init_struct *initstr, struct rq *rq)
 
 	pb->is_initialized = 1;	// must be initialized last
 
+	resched_curr(rq);	// reschedule asap
+
 	return 0;
 }
 /*
@@ -62,12 +64,6 @@ void init_pb_rq(struct pb_rq *pb_rq)
 }
 EXPORT_SYMBOL(init_pb_rq);
 
-void finalize_pq_rq_init(struct pb_rq *pb_rq)
-{
-	pb_rq->is_initialized = 1;
-}
-
-
 // task enters the runnable state
 static void
 enqueue_task_pb(struct rq *rq, struct task_struct *p, int flags)