diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb
index d4e3099453dce57e0a7b7a4188c4ff625fea2517..1fdcda97520faac652423f43c9b86dbfedd63be1 100644
--- a/app/models/concerns/mentionable.rb
+++ b/app/models/concerns/mentionable.rb
@@ -51,7 +51,7 @@ module Mentionable
     else
       self.class.mentionable_attrs.each do |attr, options|
         text = send(attr)
-        options[:cache_key] = [self, attr] if options.delete(:cache)
+        options[:cache_key] = [self, attr] if options.delete(:cache) && self.persisted?
         ext.analyze(text, options)
       end
     end