diff --git a/lib/router.php b/lib/router.php
index 27e14c38abf0aef0773017232af51236bb6ee984..746b68c2c0c4a8078f0c738d5b991d9808814f0f 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -49,6 +49,7 @@ class OC_Router {
 			$files = $this->getRoutingFiles();
 			$files[] = 'settings/routes.php';
 			$files[] = 'core/routes.php';
+			$files[] = 'ocs/routes.php';
 			$this->cache_key = OC_Cache::generateCacheKeyFromFiles($files);
 		}
 		return $this->cache_key;
@@ -58,23 +59,6 @@ class OC_Router {
 	 * loads the api routes
 	 */
 	public function loadRoutes() {
-
-		// TODO cache
-		$this->root = $this->getCollection('root');
-		foreach(OC_APP::getEnabledApps() as $app){
-			$file = OC_App::getAppPath($app).'/appinfo/routes.php';
-			if(file_exists($file)){
-				$this->useCollection($app);
-				require_once($file);
-				$collection = $this->getCollection($app);
-				$this->root->addCollection($collection, '/apps/'.$app);
-			}
-		}
-		// include ocs routes
-		require_once(OC::$SERVERROOT.'/ocs/routes.php');
-		$collection = $this->getCollection('ocs');
-		$this->root->addCollection($collection, '/ocs');
-
 		foreach($this->getRoutingFiles() as $app => $file) {
 			$this->useCollection($app);
 			require_once $file;
@@ -85,6 +69,10 @@ class OC_Router {
 		require_once 'settings/routes.php';
 		require_once 'core/routes.php';
 
+		// include ocs routes
+		require_once 'ocs/routes.php';
+		$collection = $this->getCollection('ocs');
+		$this->root->addCollection($collection, '/ocs');
 	}
 
 	protected function getCollection($name) {