diff --git a/synapse/http/site.py b/synapse/http/site.py
index 18f2d37e00a742045257bf99bd769bbaacf4e2fc..e1e53e8ae5f7c13469f923b6fa166e14eec8fd3b 100644
--- a/synapse/http/site.py
+++ b/synapse/http/site.py
@@ -85,7 +85,10 @@ class SynapseRequest(Request):
         return "%s-%i" % (self.method, self.request_seq)
 
     def get_redacted_uri(self):
-        return redact_uri(self.uri.decode('ascii'))
+        uri = self.uri
+        if isinstance(uri, bytes):
+            uri = self.uri.decode('ascii')
+        return redact_uri(uri)
 
     def get_user_agent(self):
         return self.requestHeaders.getRawHeaders(b"User-Agent", [None])[-1]