diff --git a/core/routes.php b/core/routes.php
index 5009243d59f6e5f229bb467f7d261958c927325a..f8454877e034dbe4b3a44bdac5b912c44cbef0cf 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -7,6 +7,7 @@
  */
 
 // Post installation check
+/** @var $this OC_Router */
 $this->create('post_setup_check', '/post-setup-check')
 	->action('OC_Setup', 'postSetupCheck');
 
@@ -61,7 +62,7 @@ $this->create('core_tags_delete', '/tags/{type}/delete')
 	->action('OC\Core\Tags\Controller', 'deleteTags')
 	->requirements(array('type'));
 // oC JS config
-$this->create('js_config', '/core/js/config.js')
+$this->create('js_config', '/core/js/oc.js')
 	->actionInclude('core/js/config.php');
 // Routing
 $this->create('core_ajax_routes', '/core/routes.json')
diff --git a/lib/private/server.php b/lib/private/server.php
index bee70dec2dfac01e7b4c31b2a05d8eb6d0396e4d..5977ee9b5a068309639088f6f43f1a6e5bc9173d 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -128,7 +128,8 @@ class Server extends SimpleContainer implements IServerContainer {
 			return new \OC\L10N\Factory();
 		});
 		$this->registerService('URLGenerator', function($c) {
-			return new \OC\URLGenerator();
+			$config = $this->getConfig();
+			return new \OC\URLGenerator($config);
 		});
 		$this->registerService('AppHelper', function($c) {
 			return new \OC\AppHelper();
@@ -257,7 +258,7 @@ class Server extends SimpleContainer implements IServerContainer {
 	}
 
 	/**
-	 * @return \OC\Config
+	 * @return \OCP\IConfig
 	 */
 	function getConfig() {
 		return $this->query('AllConfig');
diff --git a/lib/private/template/cssresourcelocator.php b/lib/private/template/cssresourcelocator.php
index 8e7831ca549fa615d87cbb4176d27a813d058d55..e26daa258278aa9dfb3a43035cced0363ca20cfd 100644
--- a/lib/private/template/cssresourcelocator.php
+++ b/lib/private/template/cssresourcelocator.php
@@ -22,7 +22,7 @@ class CSSResourceLocator extends ResourceLocator {
 		$app = substr($style, 0, strpos($style, '/'));
 		$style = substr($style, strpos($style, '/')+1);
 		$app_path = \OC_App::getAppPath($app);
-		$app_url = $this->webroot . '/index.php/apps/' . $app;
+		$app_url = \OC_App::getAppWebPath($app);
 		if ($this->appendIfExist($app_path, $style.$this->form_factor.'.css', $app_url)
 			|| $this->appendIfExist($app_path, $style.'.css', $app_url)
 		) {
diff --git a/lib/private/urlgenerator.php b/lib/private/urlgenerator.php
index 7795011fd062ee9c78471b2475d8a97225e97535..4e3c11090007fdb23b91d52c7e9491659694665a 100644
--- a/lib/private/urlgenerator.php
+++ b/lib/private/urlgenerator.php
@@ -15,6 +15,19 @@ use RuntimeException;
  * Class to generate URLs
  */
 class URLGenerator implements IURLGenerator {
+
+	/**
+	 * @var \OCP\IConfig
+	 */
+	private $config;
+
+	/**
+	 * @param \OCP\IConfig $config
+	 */
+	public function __construct($config) {
+		$this->config = $config;
+	}
+
 	/**
 	 * @brief Creates an url using a defined route
 	 * @param $route
@@ -41,12 +54,18 @@ class URLGenerator implements IURLGenerator {
 	 * Returns a url to the given app and file.
 	 */
 	public function linkTo( $app, $file, $args = array() ) {
+		$frontControllerActive=($this->config->getSystemValue('front_controller_active', 'false') == 'true');
+
 		if( $app != '' ) {
 			$app_path = \OC_App::getAppPath($app);
 			// Check if the app is in the app folder
 			if ($app_path && file_exists($app_path . '/' . $file)) {
 				if (substr($file, -3) == 'php' || substr($file, -3) == 'css') {
+
 					$urlLinkTo = \OC::$WEBROOT . '/index.php/apps/' . $app;
+					if ($frontControllerActive) {
+						$urlLinkTo = \OC::$WEBROOT . '/apps/' . $app;
+					}
 					$urlLinkTo .= ($file != 'index.php') ? '/' . $file : '';
 				} else {
 					$urlLinkTo = \OC_App::getAppWebPath($app) . '/' . $file;
@@ -58,7 +77,11 @@ class URLGenerator implements IURLGenerator {
 			if (file_exists(\OC::$SERVERROOT . '/core/' . $file)) {
 				$urlLinkTo = \OC::$WEBROOT . '/core/' . $file;
 			} else {
-				$urlLinkTo = \OC::$WEBROOT . '/' . $file;
+				if ($frontControllerActive && $file === 'index.php') {
+					$urlLinkTo = \OC::$WEBROOT;
+				} else {
+					$urlLinkTo = \OC::$WEBROOT . '/' . $file;
+				}
 			}
 		}