diff --git a/lib/private/route/cachingrouter.php b/lib/private/route/cachingrouter.php
index ad25372391f5a882b127a5bd7c8c0f2fe9fedf80..6412ceb0418265bc46a37d8eb650da8807de7596 100644
--- a/lib/private/route/cachingrouter.php
+++ b/lib/private/route/cachingrouter.php
@@ -31,7 +31,8 @@ class CachingRouter extends Router {
 	 * @return string
 	 */
 	public function generate($name, $parameters = array(), $absolute = false) {
-		$key = $name . json_encode($parameters) . $absolute;
+		sort($parameters);
+		$key = $this->context->getHost() . '#' . $this->context->getBaseUrl() . $name . json_encode($parameters) . intval($absolute);
 		if ($this->cache->hasKey($key)) {
 			return $this->cache->get($key);
 		} else {