diff --git a/app/services/activitypub/process_collection_service.rb b/app/services/activitypub/process_collection_service.rb
index 52f48bd49d..4f049a5ae9 100644
--- a/app/services/activitypub/process_collection_service.rb
+++ b/app/services/activitypub/process_collection_service.rb
@@ -8,6 +8,8 @@ class ActivityPub::ProcessCollectionService < BaseService
     @json    = original_json = Oj.load(body, mode: :strict)
     @options = options
 
+    return unless @json.is_a?(Hash)
+
     begin
       @json = compact(@json) if @json['signature'].is_a?(Hash)
     rescue JSON::LD::JsonLdError => e