diff --git a/core/include/sched.h b/core/include/sched.h
index eafecc8707af9425c6ac5c919e8b2df6817413da..c905573d2225a5c8527ccf6400c6b871a4f9ec16 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 93fee54c41c9833e7ded7bc3899717ac1f6df4cd..f10d89e1e93f16082966d9593b9ad0ced7c2ef29 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 77ca892932a9503d1fdfb07f7240d5e860f9dda8..09102e23c7c8488fe25550a088492054f874e2f1 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;