diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php
index ab87c484db4c458416dbcbbb0fd530cbd056b4f7..3d4dc5cc9828be756e0c7b5fe86db6a1da03d708 100644
--- a/lib/private/legacy/user.php
+++ b/lib/private/legacy/user.php
@@ -270,7 +270,7 @@ class OC_User {
 		}
 
 		$logoutUrl = $urlGenerator->linkToRouteAbsolute('core.login.logout');
-		$logoutUrl .= '?requesttoken=' . \OCP\Util::callRegister();
+		$logoutUrl .= '?requesttoken=' . urlencode(\OCP\Util::callRegister());
 
 		return $logoutUrl;
 	}
diff --git a/tests/lib/NavigationManagerTest.php b/tests/lib/NavigationManagerTest.php
index 6649aba28b6c20febe52da83696e8bfcd1da8a06..f552bd2eeed0601369d6b6460d97891519d3e807 100644
--- a/tests/lib/NavigationManagerTest.php
+++ b/tests/lib/NavigationManagerTest.php
@@ -270,7 +270,7 @@ class NavigationManagerTest extends TestCase {
 			'logout' => [
 				'id'      => 'logout',
 				'order'   => 99999,
-				'href'    => 'https://example.com/logout?requesttoken='. \OCP\Util::callRegister(),
+				'href'    => 'https://example.com/logout?requesttoken='. urlencode(\OCP\Util::callRegister()),
 				'icon'    => '/apps/core/img/actions/logout.svg',
 				'name'    => 'Log out',
 				'active'  => false,