diff --git a/CHANGELOG.md b/CHANGELOG.md
index 30db6ab..d6808f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Don't ignore `Delete(Person)` verification errors if database error subtype is not `NotFound`.
- Don't stop activity processing on invalid local mentions.
+- Accept actor objects where `attachment` property value is not an array.
## [1.9.0] - 2023-01-08
diff --git a/src/activitypub/actors/types.rs b/src/activitypub/actors/types.rs
index 5d3f9c7..9fe70db 100644
--- a/src/activitypub/actors/types.rs
+++ b/src/activitypub/actors/types.rs
@@ -9,6 +9,7 @@ use serde_json::{json, Value};
use crate::activitypub::{
constants::{ACTOR_KEY_SUFFIX, AP_CONTEXT},
identifiers::{local_actor_id, LocalActorCollection},
+ receiver::parse_property_value,
vocabulary::{IDENTITY_PROOF, IMAGE, LINK, PERSON, PROPERTY_VALUE, SERVICE},
};
use crate::config::Instance;
@@ -74,7 +75,7 @@ pub struct ActorAttachment {
}
// Some implementations use empty object instead of null
-pub fn deserialize_image_opt<'de, D>(
+fn deserialize_image_opt<'de, D>(
deserializer: D,
) -> Result