diff --git a/kernel/sched/pb.c b/kernel/sched/pb.c
index 61b37c17ff5c9b2f2fdf2da1bf6bf77f63cdd178..761266d3e11ba8388e32c97384e1ff7ea2503aae 100644
--- a/kernel/sched/pb.c
+++ b/kernel/sched/pb.c
@@ -1,4 +1,5 @@
 #include "perf_error_detection.h"
+//#include "sched.h"
 
 /*
  * It is possible to initialize a runqueue only if no plan is currently executed
@@ -136,7 +137,7 @@ static struct task_struct * pick_next_task_pb(struct rq *rq,
 				pb->mode = PB_DISABLED_MODE;
 				pb->is_initialized = 0;
 			}else{
-				int perf_init_res = init_perf_event(pb->plan[pb->c_entry], &pb->pevent);
+				int perf_init_res = init_perf_event(&pb->plan[pb->c_entry], &pb->pevent);
 				if(perf_init_res < 0){
 					//initialization error detection/handling could happen here
 					printk(KERN_WARNING "PB EXEC,START,%u,%llu: FAILED OPEN PERF EVENT\n", pb->c_entry, sched_clock());
@@ -149,7 +150,7 @@ static struct task_struct * pick_next_task_pb(struct rq *rq,
 			printk(KERN_DEBUG "PB ADMIN,STOP,%u,%llu\n", pb->c_entry, sched_clock());
 		}else{
 			// PB_DISABLED_MODE
-			int perf_init_res = init_perf_event(pb->plan[pb->c_entry], &pb->pevent);
+			int perf_init_res = init_perf_event(&pb->plan[pb->c_entry], &pb->pevent);
 
 			if(perf_init_res < 0){
 				//initialization error detection/handling could happen here
diff --git a/kernel/sched/perf_error_detection.c b/kernel/sched/perf_error_detection.c
index 62cdfcbc8378f24fe7a062e8542ab25d53051594..2d149a6cabf6e298639ba4ece02877365bdd87d1 100644
--- a/kernel/sched/perf_error_detection.c
+++ b/kernel/sched/perf_error_detection.c
@@ -1,5 +1,5 @@
 #include "perf_error_detection.h"
-#include "sched.h"
+//#include "sched.h"
 
 /*
  * Our understanding of perf so far. Please correct as needed.
@@ -14,7 +14,7 @@
 /*
  * initialize perf event for new task
  */
-int init_perf_event(struct plan_entry plan_entry, struct perf_event **pevent){
+int init_perf_event(struct plan_entry *plan_entry, struct perf_event **pevent){
 	struct perf_event_attr pe;
 
 	memset(&pe, 0, sizeof(struct perf_event_attr));
diff --git a/kernel/sched/perf_error_detection.h b/kernel/sched/perf_error_detection.h
index dbe9f18ff45478a074dc460bf7397c9cab68adf5..d911d26a475c45dccdd4c74d46f9cee1b398ecb6 100644
--- a/kernel/sched/perf_error_detection.h
+++ b/kernel/sched/perf_error_detection.h
@@ -2,8 +2,9 @@
 #define __PERF_ERROR_DETECTION_H
 
 #include <linux/perf_event.h>
+#include "sched.h"
 
-int init_perf_event(struct plan_entry, struct perf_event **pevent);
+int init_perf_event(struct plan_entry*, struct perf_event**);
 
 u64 get_perf_counter(struct perf_event *pevent, u64 *perf_counter);
 
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 134c29ea35e96bb67d6f260d5f7477925af6ac02..16eeea7788f9dc93255037ddac974e0c981905ba 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -551,7 +551,7 @@ struct pb_rq {
 };
 
 int pb_init_rq(struct pb_init_struct *initstr, struct rq *rq);
-static inline int determine_next_mode_pb(struct rq *rq);
+inline int determine_next_mode_pb(struct rq *rq);
 
 static inline int rt_bandwidth_enabled(void)
 {