diff --git a/Source/Core/VideoCommon/Present.cpp b/Source/Core/VideoCommon/Present.cpp
index 0cc19d6e14..a90ffaf687 100644
--- a/Source/Core/VideoCommon/Present.cpp
+++ b/Source/Core/VideoCommon/Present.cpp
@@ -178,6 +178,25 @@ void Presenter::ViSwap(u32 xfb_addr, u32 fb_width, u32 fb_stride, u32 fb_height,
     present_info.reason = PresentInfo::PresentReason::VideoInterface;
   }
 
+  if (m_xfb_entry)
+  {
+    // With no references, this XFB copy wasn't stitched together
+    // so just use its name directly
+    if (m_xfb_entry->references.empty())
+    {
+      if (!m_xfb_entry->texture_info_name.empty())
+        present_info.xfb_copy_hashes.push_back(m_xfb_entry->texture_info_name);
+    }
+    else
+    {
+      for (const auto& reference : m_xfb_entry->references)
+      {
+        if (!reference->texture_info_name.empty())
+          present_info.xfb_copy_hashes.push_back(reference->texture_info_name);
+      }
+    }
+  }
+
   BeforePresentEvent::Trigger(present_info);
 
   if (!is_duplicate || !g_ActiveConfig.bSkipPresentingDuplicateXFBs)