diff --git a/changelog.d/9474.misc b/changelog.d/9474.misc
new file mode 100644
index 0000000000000000000000000000000000000000..1b9a235292c7f3dee61e82b333a05364ad0cdb78
--- /dev/null
+++ b/changelog.d/9474.misc
@@ -0,0 +1 @@
+Revert change in v1.28.0rc1 to remove the deprecated SAML endpoint.
diff --git a/synapse/rest/synapse/client/__init__.py b/synapse/rest/synapse/client/__init__.py
index 8588b6d271cc0fbc3a6697d72218a7cf954f401c..9eeb970580edf26aae262aba8dd8cea47c0d05af 100644
--- a/synapse/rest/synapse/client/__init__.py
+++ b/synapse/rest/synapse/client/__init__.py
@@ -54,7 +54,12 @@ def build_synapse_client_resource_tree(hs: "HomeServer") -> Mapping[str, Resourc
     if hs.config.saml2_enabled:
         from synapse.rest.synapse.client.saml2 import SAML2Resource
 
-        resources["/_synapse/client/saml2"] = SAML2Resource(hs)
+        res = SAML2Resource(hs)
+        resources["/_synapse/client/saml2"] = res
+
+        # This is also mounted under '/_matrix' for backwards-compatibility.
+        # To be removed in Synapse v1.32.0.
+        resources["/_matrix/saml2"] = res
 
     return resources