diff --git a/lib/base.php b/lib/base.php
index 6896c91822e56c39e853db5f06679b129b7a8b50..1d525f7e19dd78a93058a70b292e4273905bf16f 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -321,6 +321,18 @@ class OC
 		return OC::$router;
 	}
 
+
+        public static function loadAppClassPaths()
+        {
+                foreach(OC_APP::getEnabledApps() as $app) {
+                        $file = OC_App::getAppPath($app).'/appinfo/classpath.php';
+                        if(file_exists($file)) {
+                                require_once $file;
+                        }
+                }
+        }
+
+
 	public static function init()
 	{
 		// register autoloader
@@ -537,6 +549,11 @@ class OC
 			header('location: ' . OC_Helper::linkToRemote('webdav'));
 			return;
 		}
+
+                // load all the classpaths from the enabled apps so they are available
+                // in the routing files of each app
+                OC::loadAppClassPaths();
+
 		try {
 			OC::getRouter()->match(OC_Request::getPathInfo());
 			return;