diff --git a/src/components/status/status.js b/src/components/status/status.js
index 11b8feba..7aa1e03b 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -164,6 +164,15 @@ const Status = {
     showingMore () {
       return this.showingTall || (this.status.summary && this.expandingSubject)
     },
+    nsfwClickthrough () {
+      if (!this.status.nsfw) {
+        return false
+      }
+      if (this.status.summary && this.$store.state.config.collapseMessageWithSubject) {
+        return false
+      }
+      return true
+    },
     attachmentSize () {
       if ((this.$store.state.config.hideAttachments && !this.inConversation) ||
         (this.$store.state.config.hideAttachmentsInConv && this.inConversation)) {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index e8951220..c7ef92a2 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -84,7 +84,7 @@
           </div>
 
           <div v-if='status.attachments && !hideSubjectStatus' class='attachments media-body'>
-            <attachment :size="attachmentSize" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments" :key="attachment.id">
+            <attachment :size="attachmentSize" :status-id="status.id" :nsfw="nsfwClickthrough" :attachment="attachment" v-for="attachment in status.attachments" :key="attachment.id">
             </attachment>
           </div>