diff --git a/src/plainui/jinja2/plainui/personal_message_send.html.j2 b/src/plainui/jinja2/plainui/personal_message_send.html.j2
index 1877be6c2d4d2936090bc6a2e3dd19a66b1598bc..309837476d5504f1fb2c5184a912fd1aba12cd76 100644
--- a/src/plainui/jinja2/plainui/personal_message_send.html.j2
+++ b/src/plainui/jinja2/plainui/personal_message_send.html.j2
@@ -1,5 +1,6 @@
 {% import "plainui/components/form_elements.html.j2" as form_elements %}
 {% import "plainui/components/nav.html.j2" as navMacro with context %}
+{% from "plainui/components/markdown.html.j2" import markdown %}
 
 {% extends "plainui/base.html.j2" %}
 
@@ -42,6 +43,14 @@
       </div>
     </div>
   </form>
-
+  {% if in_reply_to %}
+    <hr class="hub-spacer">
+    <div class="p-0 m-0">
+      <div class="hub-card">
+        <h2 class="hub-head-main">{{ in_reply_to.subject }}</h2>
+        <div class="card-body">{{ markdown(in_reply_to_body, border=False) }}</div>
+      </div>
+    </div>
+  {% endif %}
   <hr class="hub-spacer">
 {% endblock content %}
diff --git a/src/plainui/views/personal_messages.py b/src/plainui/views/personal_messages.py
index 195d38beb6c25e802ddb1cef79bb5f3ed0554c20..0806dfd5786a42256641d5ba0a29ab8b068391d4 100644
--- a/src/plainui/views/personal_messages.py
+++ b/src/plainui/views/personal_messages.py
@@ -5,6 +5,8 @@ __all__ = (
     'PersonalMessageShowView',
 )
 
+import contextlib
+
 from django_ratelimit.decorators import ratelimit
 
 from django.contrib import messages
@@ -67,10 +69,17 @@ class PersonalMessageSendView(ConferenceRequiredMixin, FormView):
     form_class = NewDirectMessageForm
 
     def get_context_data(self, **kwargs):
+        in_reply_to_uuid = self.request.POST.get('in_reply_to', self.request.GET.get('in_reply_to', ''))
+        in_reply_to = None
+        if in_reply_to_uuid:
+            with contextlib.suppress(DirectMessage.DoesNotExist):
+                in_reply_to = DirectMessage.objects.filter(recipient=self.request.user, deleted_by_recipient=False).get(id=in_reply_to_uuid)
         return {
             **super().get_context_data(**kwargs),
             'conf': self.conf,
             'disable_share': True,
+            'in_reply_to': in_reply_to,
+            'in_reply_to_body': render_markdown(self.conf, in_reply_to.body) if in_reply_to else '',
         }
 
     def get_initial(self):