diff --git a/src/xhrInterceptor/responseModifiers/flattenThread.js b/src/xhrInterceptor/responseModifiers/flattenThread.js
index 23db6eb..53828eb 100644
--- a/src/xhrInterceptor/responseModifiers/flattenThread.js
+++ b/src/xhrInterceptor/responseModifiers/flattenThread.js
@@ -2,7 +2,7 @@
 import GapModel from '../../models/Gap.js';
 import MessageModel from '../../models/Message.js';
 
-const loadMoreThread = {
+const flattenThread = {
   urlRegex: /api\/ViewThread/i,
   featureGated: true,
   features: ['flattenthreads', 'flattenthreads_switch_enabled'],
@@ -42,6 +42,9 @@
     });
     mogs.forEach(m => m.setPayload(m.newPayload));
 
+    // Clear parent_message_id fields
+    mogs.forEach(m => m.clearParentMessageId());
+
     // Sort the messages by date
     mogs.sort((a, b) => {
       const c = a instanceof MessageModel ? a.getCreatedMicroseconds() :
@@ -54,6 +57,10 @@
 
     response[1][40] = mogs.map(mog => mog.toRawMessageOrGap());
 
+    // Set last_message to the last message after sorting
+    if (response[1]?.[17]?.[3])
+      response[1][17][3] = response[1][40].slice(-1)?.[1];
+
     // Set num_messages to the updated value, since we've flattened the replies.
     response[1][8] = response[1][40].length;
     return response;
@@ -76,8 +83,7 @@
     else
       prevId = parentId;
 
-    const prevMessage =
-        prevId ? mogs.find(m => m.getId() == prevId) : null;
+    const prevMessage = prevId ? mogs.find(m => m.getId() == prevId) : null;
 
     return {
       isComment: true,
@@ -93,4 +99,4 @@
   }
 };
 
-export default loadMoreThread;
+export default flattenThread;
