diff --git a/lib/base.php b/lib/base.php
index 43588944d04dde703fd7ac7a90bdcc8c6ab037b0..0d9ececc0c9826d2c45e69906e39d51479fbca7e 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -278,6 +278,7 @@ class OC{
 	public static function getRouter() {
 		if (!isset(OC::$router)) {
 			OC::$router = new OC_Router();
+			OC::$router->loadRoutes();
 		}
 
 		return OC::$router;
diff --git a/lib/router.php b/lib/router.php
index c3864cfc91c5749ec1b19f67f492461e762cd705..5c5171cf82d6788ecf6312f510b661e24822530b 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -16,10 +16,15 @@ class OC_Router {
 	protected $collections = array();
 	protected $collection = null;
 
+	public function __construct() {
+		// TODO cache
+		$this->loadRoutes();
+	}
+
 	/**
 	 * loads the api routes
 	 */
-	public function loadRoutes(){
+	public function loadRoutes() {
 		// TODO cache
 		foreach(OC_APP::getEnabledApps() as $app){
 			$file = OC_App::getAppPath($app).'/appinfo/routes.php';
diff --git a/ocs/v1.php b/ocs/v1.php
index cb8a1faf876187ca4033e64a161db532dbfa159f..938a57009f73beaa3339331da2759eccc400ef99 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -26,7 +26,6 @@ use Symfony\Component\Routing\Exception\ResourceNotFoundException;
 use Symfony\Component\Routing\Exception\MethodNotAllowedException;
 
 OC::getRouter()->useCollection('ocs');
-OC::getRouter()->loadRoutes();
 
 try {
 	OC::getRouter()->match($_SERVER['PATH_INFO']);