diff --git a/xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-docker/src/test/it/org/xwiki/administration/test/ui/ResetPasswordIT.java b/xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-docker/src/test/it/org/xwiki/administration/test/ui/ResetPasswordIT.java
index 8783853442be6a755c30fc4574a36ec9a1778f72..2480d9950365e419d0167ce294eb8c31e82534ad 100644
--- a/xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-docker/src/test/it/org/xwiki/administration/test/ui/ResetPasswordIT.java
+++ b/xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-docker/src/test/it/org/xwiki/administration/test/ui/ResetPasswordIT.java
@@ -105,7 +105,7 @@ public void resetForgottenPassword(TestUtils setup) throws Exception
 
         String userName = "testUser" + RandomStringUtils.randomAlphanumeric(6);
         String password = "password";
-        String newPassword = "newPassword";
+        String newPassword = "newPasswörd";
 
         // Create a user
         setup.createUser(userName, password, null);
diff --git a/xwiki-platform-core/xwiki-platform-web/xwiki-platform-web-war/src/main/webapp/WEB-INF/web.xml b/xwiki-platform-core/xwiki-platform-web/xwiki-platform-web-war/src/main/webapp/WEB-INF/web.xml
index 879d512e825b5d24022a8de616ad236d75a140a9..bdc25edbd7dd98b633449a48d6320da82a05c7b8 100644
--- a/xwiki-platform-core/xwiki-platform-web/xwiki-platform-web-war/src/main/webapp/WEB-INF/web.xml
+++ b/xwiki-platform-core/xwiki-platform-web/xwiki-platform-web-war/src/main/webapp/WEB-INF/web.xml
@@ -142,31 +142,33 @@
     </init-param>
   </filter>
 
-  <!-- The Routing Filter decides how to route all requests and thus must be mapped to handle all incoming requests -->
+  <!-- The encoding filter MUST always be the first one, as setting the encoding does not work after accessing the
+       request data. -->
   <filter-mapping>
-    <filter-name>RoutingFilter</filter-name>
+    <filter-name>Set Character Encoding</filter-name>
     <url-pattern>/*</url-pattern>
-    <!-- Even though the Routing Filter is the first filter, users could add other filters that execute before it,
-         like the URLRewriteFilter, and if these filters do a forward, we still want our RoutingFilter to be called. -->
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>INCLUDE</dispatcher>
     <dispatcher>FORWARD</dispatcher>
+    <dispatcher>ERROR</dispatcher>
   </filter-mapping>
 
-  <!-- The encoding filter MUST always be the first one, as setting the encoding does not work after accessing the
-       request data. -->
   <filter-mapping>
-    <filter-name>Set Character Encoding</filter-name>
+    <filter-name>RequestRestorer</filter-name>
     <url-pattern>/*</url-pattern>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>INCLUDE</dispatcher>
     <dispatcher>FORWARD</dispatcher>
-    <dispatcher>ERROR</dispatcher>
   </filter-mapping>
 
+  <!-- The Routing Filter decides how to route all requests and thus must be mapped to handle all incoming requests.
+   It is after the "Set Character Encoding" and "RequestRestorer" so these filters are applied independently of the
+   routing decision. -->
   <filter-mapping>
-    <filter-name>RequestRestorer</filter-name>
+    <filter-name>RoutingFilter</filter-name>
     <url-pattern>/*</url-pattern>
+    <!-- Users could add other filters that execute before it, like the URLRewriteFilter, and if these filters do a
+    forward, we still want our RoutingFilter to be called. -->
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>INCLUDE</dispatcher>
     <dispatcher>FORWARD</dispatcher>