diff --git a/src/MessagePack.UnityClient/Assets/Scripts/MessagePack/MessagePackSecurity.cs b/src/MessagePack.UnityClient/Assets/Scripts/MessagePack/MessagePackSecurity.cs
index 02cb7cd1e..e2b353364 100644
--- a/src/MessagePack.UnityClient/Assets/Scripts/MessagePack/MessagePackSecurity.cs
+++ b/src/MessagePack.UnityClient/Assets/Scripts/MessagePack/MessagePackSecurity.cs
@@ -44,6 +44,7 @@ private MessagePackSecurity()
///
/// The template to copy from.
protected MessagePackSecurity(MessagePackSecurity copyFrom)
+ : this()
{
if (copyFrom is null)
{
diff --git a/src/MessagePack.UnityClient/Assets/Scripts/Tests/ShareTests/MessagePackSecurityTests.cs b/src/MessagePack.UnityClient/Assets/Scripts/Tests/ShareTests/MessagePackSecurityTests.cs
index 1f3c6161b..b0e872374 100644
--- a/src/MessagePack.UnityClient/Assets/Scripts/Tests/ShareTests/MessagePackSecurityTests.cs
+++ b/src/MessagePack.UnityClient/Assets/Scripts/Tests/ShareTests/MessagePackSecurityTests.cs
@@ -125,6 +125,13 @@ public void EqualityComparer_ObjectFallback()
Assert.NotEqual(eq.GetHashCode(o), eq.GetHashCode(new object()));
}
+ [Fact]
+ public void EqualityComparer_ObjectFallback_AfterCopyCtor()
+ {
+ var security = MessagePackSecurity.UntrustedData.WithMaximumObjectGraphDepth(15);
+ Assert.NotNull(security.GetEqualityComparer