diff --git a/src/duckstation-libretro/libretro_host_interface.cpp b/src/duckstation-libretro/libretro_host_interface.cpp
index 90b47a122..30500073a 100644
--- a/src/duckstation-libretro/libretro_host_interface.cpp
+++ b/src/duckstation-libretro/libretro_host_interface.cpp
@@ -335,6 +335,12 @@ bool LibretroHostInterface::AcquireHostDisplay()
 
 void LibretroHostInterface::ReleaseHostDisplay()
 {
+  if (m_hw_render_display)
+  {
+    m_hw_render_display->DestroyRenderDevice();
+    m_hw_render_display.reset();
+  }
+
   m_display->DestroyRenderDevice();
   m_display.reset();
 }