diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index b790a7c2ef1bc28b7695e9176f02f89aad66c66c..4669199b2d0f961db98c229be7b34b10512bec81 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -1606,7 +1606,7 @@ class FederationHandler(BaseHandler):
 
             context.rejected = RejectedReason.AUTH_ERROR
 
-        if event.type == EventTypes.GuestAccess:
+        if event.type == EventTypes.GuestAccess and not context.rejected:
             yield self.maybe_kick_guest_users(event)
 
         defer.returnValue(context)