diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php
index 3d4dc5cc9828be756e0c7b5fe86db6a1da03d708..f1c233819875d16fa0d77dd615765e14cb91c0e9 100644
--- a/lib/private/legacy/user.php
+++ b/lib/private/legacy/user.php
@@ -269,7 +269,7 @@ class OC_User {
 			return $backend->getLogoutUrl();
 		}
 
-		$logoutUrl = $urlGenerator->linkToRouteAbsolute('core.login.logout');
+		$logoutUrl = $urlGenerator->linkToRoute('core.login.logout');
 		$logoutUrl .= '?requesttoken=' . urlencode(\OCP\Util::callRegister());
 
 		return $logoutUrl;
diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php
index 31efbce929c5286d9c8061c4ca92ed958f0e342b..97471fa52132e25a69c57075d482780381cfe0c1 100644
--- a/tests/lib/NavigationManagerTest.php
+++ b/tests/lib/NavigationManagerTest.php
@@ -217,14 +217,12 @@ class NavigationManagerTest extends TestCase {
 		$this->urlGenerator->expects($this->any())->method('imagePath')->willReturnCallback(function ($appName, $file) {
 			return "/apps/$appName/img/$file";
 		});
-		$this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function () {
+		$this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function ($route) {
+			if ($route === 'core.login.logout') {
+				return 'https://example.com/logout';
+			}
 			return '/apps/test/';
 		});
-		$this->urlGenerator
-			->expects($this->once())
-			->method('linkToRouteAbsolute')
-			->with('core.login.logout')
-			->willReturn('https://example.com/logout');
 		$user = $this->createMock(IUser::class);
 		$user->expects($this->any())->method('getUID')->willReturn('user001');
 		$this->userSession->expects($this->any())->method('getUser')->willReturn($user);