diff --git a/core/include/sched.h b/core/include/sched.h
index 66f086d855cef2696bea0d2da3c8ef49153cd5a6..2d770b3c4e94c8525510b2d387734a56f5d18d70 100644
--- a/core/include/sched.h
+++ b/core/include/sched.h
@@ -34,11 +34,6 @@
 #define SCHED_PRIO_LEVELS 16
 #endif
 
-/**
- * @brief   Initializes thread table, active thread information, and runqueues
- */
-void sched_init(void);
-
 /**
  * @brief   Triggers the scheduler to schedule the next task
  */
diff --git a/core/kernel_init.c b/core/kernel_init.c
index 8474ed19f91fc6b4477e73e6cca6cd872c80ff89..0feb051ada17a8fbe7aa893391f1bd9a6c7fcdd0 100644
--- a/core/kernel_init.c
+++ b/core/kernel_init.c
@@ -70,8 +70,6 @@ void kernel_init(void)
     dINT();
     printf("kernel_init(): This is RIOT! (Version: %s)\n", VERSION);
 
-    sched_init();
-
     if (thread_create(idle_stack, sizeof(idle_stack), PRIORITY_IDLE, CREATE_WOUT_YIELD | CREATE_STACKTEST, idle_thread, idle_name) < 0) {
         printf("kernel_init(): error creating idle task.\n");
     }
diff --git a/core/sched.c b/core/sched.c
index a9b085e624b44e7781c61e27b1a1c4702dec3ef8..e70069a41ccaad2ee49789963fad6283a13d1048 100644
--- a/core/sched.c
+++ b/core/sched.c
@@ -43,7 +43,7 @@ volatile unsigned int sched_context_switch_request;
 volatile tcb_t *sched_threads[MAXTHREADS];
 volatile tcb_t *active_thread;
 
-volatile int thread_pid;
+volatile int thread_pid = -1;
 volatile int last_pid = -1;
 
 clist_node_t *runqueues[SCHED_PRIO_LEVELS];
@@ -54,30 +54,6 @@ static void (*sched_cb) (uint32_t timestamp, uint32_t value) = NULL;
 schedstat pidlist[MAXTHREADS];
 #endif
 
-void sched_init()
-{
-    printf("Scheduler...");
-    int i;
-
-    for (i = 0; i < MAXTHREADS; i++) {
-        sched_threads[i] = NULL;
-#if SCHEDSTATISTICS
-        pidlist[i].laststart = 0;
-        pidlist[i].runtime_ticks = 0;
-        pidlist[i].schedules = 0;
-#endif
-    }
-
-    active_thread = NULL;
-    thread_pid = -1;
-
-    for (i = 0; i < SCHED_PRIO_LEVELS; i++) {
-        runqueues[i] = NULL;
-    }
-
-    printf("[OK]\n");
-}
-
 void sched_run()
 {
     sched_context_switch_request = 0;