diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb
index 6316ee208b5a7c3b2ea60d9983f858858369feda..98f71ae8cb04a5bb28cf8458d370df325bb4aa75 100644
--- a/app/models/concerns/mentionable.rb
+++ b/app/models/concerns/mentionable.rb
@@ -51,8 +51,11 @@ module Mentionable
     else
       self.class.mentionable_attrs.each do |attr, options|
         text = send(attr)
-        options[:cache_key] = [self, attr] if options.delete(:cache) && self.persisted?
-        ext.analyze(text, options)
+
+        context = options.dup
+        context[:cache_key] = [self, attr] if context.delete(:cache) && self.persisted?
+
+        ext.analyze(text, context)
       end
     end