diff --git a/changelog.d/8440.bugfix b/changelog.d/8440.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..84d5f541d18c1106bcbd8c50d17235b3f4dfb69e
--- /dev/null
+++ b/changelog.d/8440.bugfix
@@ -0,0 +1 @@
+Do not expose the experimental `uk.half-shot.msc2778.login.application_service` flow in the login API.
diff --git a/synapse/rest/client/v1/login.py b/synapse/rest/client/v1/login.py
index b9347b87c7c662abb420fec6b2ded9acd56a04b0..3d1693d7acfba6ae7f80320661a87703e2190fd8 100644
--- a/synapse/rest/client/v1/login.py
+++ b/synapse/rest/client/v1/login.py
@@ -111,8 +111,6 @@ class LoginRestServlet(RestServlet):
             ({"type": t} for t in self.auth_handler.get_supported_login_types())
         )
 
-        flows.append({"type": LoginRestServlet.APPSERVICE_TYPE})
-
         return 200, {"flows": flows}
 
     def on_OPTIONS(self, request: SynapseRequest):