 
     /// Attachment's Caption String, with MediaAttachment's appearance attributes applied.
     ///
-    private var styledCaption: NSAttributedString?
+    private var styledCaptionCache: NSAttributedString?
+
+    /// Returns the cached caption (with our custom attributes applied), or regenerates the Styled Caption, if needed.
+    ///
+    private var styledCaption: NSAttributedString? {
+        if let caption = styledCaptionCache {
+            return caption
+        }
+
+        styledCaptionCache = applyCaptionAppearance(to: caption)
+        return styledCaptionCache
+    }
 
 
     /// Creates a new attachment

    ///
    open var caption: NSAttributedString? {
        didSet {
            styledCaption = applyCaptionAppearance(to: caption)
        }
    }


        willSet {
            if newValue != alignment {
                glyphImage = nil
                styledCaptionCache = nil
            }
        }
    }
