diff --git a/inc/events.php b/inc/events.php
index 1c82af003007f1e6f70fadf534b4a14963fa5909..621cb64c1e289e0436d38098cafc118485b8468b 100644
--- a/inc/events.php
+++ b/inc/events.php
@@ -195,7 +195,3 @@ function trigger_event($name, &$data, $action=null, $canPreventDefault=true) {
     $evt = new Doku_Event($name, $data);
     return $evt->trigger($action, $canPreventDefault);
 }
-
-// create the event handler
-global $EVENT_HANDLER;
-$EVENT_HANDLER = new Doku_Event_Handler();
diff --git a/inc/init.php b/inc/init.php
index ae44ad1a9e5b4f82163d2a46e7be6e34a945aa29..3a9988fcfc3f787c6543a3d52f193dd09332c9a9 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -246,9 +246,21 @@ init_files();
 scriptify(DOKU_CONF.'users.auth');
 scriptify(DOKU_CONF.'acl.auth');
 
+// setup plugin controller class (can be overwritten in preload.php)
+$plugin_types = array('admin','syntax','action','renderer', 'helper');
+global $plugin_controller_class, $plugin_controller;
+if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller';
+
 // load libraries
 require_once(DOKU_INC.'inc/load.php');
 
+// initialize plugin controller
+$plugin_controller = new $plugin_controller_class();
+
+// initialize the event handler
+global $EVENT_HANDLER;
+$EVENT_HANDLER = new Doku_Event_Handler();
+
 // setup authentication system
 if (!defined('NOSESSION')) {
     auth_setup();
diff --git a/inc/pluginutils.php b/inc/pluginutils.php
index a8656a96a24301ce81a37eb2caed76ee8f055a59..da0704bec8bc62c5c1ea3a5c47c5c9804aa7ce3c 100644
--- a/inc/pluginutils.php
+++ b/inc/pluginutils.php
@@ -9,13 +9,6 @@
 // plugin related constants
 if(!defined('DOKU_PLUGIN'))  define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
 
-$plugin_types = array('admin','syntax','action','renderer', 'helper');
-
-global $plugin_controller_class, $plugin_controller;
-if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller';
-
-$plugin_controller = new $plugin_controller_class();
-
 /**
  * Original plugin functions, remain for backwards compatibility
  */
@@ -43,4 +36,3 @@ function plugin_directory($plugin) {
     global $plugin_controller;
     return $plugin_controller->get_directory($plugin);
 }
-