diff --git a/src/_secureaccesstokenauthorizer/_storage_server.py b/src/_secureaccesstokenauthorizer/_storage_server.py
index 78a4800b350ee9370bc11551a6c5808a5de2f9fe..72ccd37f11e26a52df8b67e61de552af92462ebf 100644
--- a/src/_secureaccesstokenauthorizer/_storage_server.py
+++ b/src/_secureaccesstokenauthorizer/_storage_server.py
@@ -101,7 +101,10 @@ class RITokenAuthorizedStorageServer(RemoteInterface):
 
 
 @implementer_only(RITokenAuthorizedStorageServer, IReferenceable, IRemotelyCallable)
-@attr.s
+# It would be great to use `frozen=True` (value-based hashing) instead of
+# `cmp=False` (identity based hashing) but Referenceable wants to set some
+# attributes on self and it's hard to avoid that.
+@attr.s(cmp=False)
 class SecureAccessTokenAuthorizerStorageServer(Referenceable):
     _original = attr.ib()