diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
index e524d6fdf2aa8e4b6e2849d1bf73188aef3622bd..111a462042bcd08f310737a1750617d7a8d4fa16 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
@@ -154,6 +154,7 @@ import org.thoughtcrime.securesms.sms.MessageSender;
 import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
 import org.thoughtcrime.securesms.stickers.StickerLocator;
 import org.thoughtcrime.securesms.stickers.StickerPackPreviewActivity;
+import org.thoughtcrime.securesms.stories.viewer.StoryViewerActivity;
 import org.thoughtcrime.securesms.util.CachedInflater;
 import org.thoughtcrime.securesms.util.CommunicationActions;
 import org.thoughtcrime.securesms.util.HtmlUtil;
@@ -1607,6 +1608,20 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
         return;
       }
 
+      if (messageRecord.getParentStoryId() != null) {
+        startActivity(StoryViewerActivity.createIntent(
+            requireContext(),
+            messageRecord.getQuote().getAuthor(),
+            messageRecord.getParentStoryId().serialize(),
+            Recipient.resolved(messageRecord.getQuote().getAuthor()).shouldHideStory(),
+            null,
+            null,
+            null
+        ));
+
+        return;
+      }
+
       SimpleTask.run(getLifecycle(), () -> {
         return SignalDatabase.mmsSms().getQuotedMessagePosition(threadId,
                                                                 messageRecord.getQuote().getId(),