diff --git a/src/JsonApiDotNetCore/Resources/Annotations/AttrAttribute.cs b/src/JsonApiDotNetCore/Resources/Annotations/AttrAttribute.cs
index d31415df57..e1cd0a0f61 100644
--- a/src/JsonApiDotNetCore/Resources/Annotations/AttrAttribute.cs
+++ b/src/JsonApiDotNetCore/Resources/Annotations/AttrAttribute.cs
@@ -6,7 +6,7 @@ namespace JsonApiDotNetCore.Resources.Annotations
/// Used to expose a property on a resource class as a JSON:API attribute (https://jsonapi.org/format/#document-resource-object-attributes).
///
[AttributeUsage(AttributeTargets.Property)]
- public sealed class AttrAttribute : ResourceFieldAttribute
+ public class AttrAttribute : ResourceFieldAttribute
{
private AttrCapabilities? _capabilities;
diff --git a/src/JsonApiDotNetCore/Serialization/BaseDeserializer.cs b/src/JsonApiDotNetCore/Serialization/BaseDeserializer.cs
index 67e4f41c71..1c2e85d39c 100644
--- a/src/JsonApiDotNetCore/Serialization/BaseDeserializer.cs
+++ b/src/JsonApiDotNetCore/Serialization/BaseDeserializer.cs
@@ -70,7 +70,7 @@ protected object DeserializeBody(string body)
/// The parsed resource.
/// Attributes and their values, as in the serialized content.
/// Exposed attributes for .
- protected IIdentifiable SetAttributes(IIdentifiable resource, IDictionary attributeValues, IReadOnlyCollection attributes)
+ protected virtual IIdentifiable SetAttributes(IIdentifiable resource, IDictionary attributeValues, IReadOnlyCollection attributes)
{
if (resource == null) throw new ArgumentNullException(nameof(resource));
if (attributes == null) throw new ArgumentNullException(nameof(attributes));