diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index 5228b2c..e0f6424 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -204,7 +204,9 @@
   DCHECK(m_pFontTracker);
 }
 
-CFX_PSRenderer::~CFX_PSRenderer() = default;
+CFX_PSRenderer::~CFX_PSRenderer() {
+  EndRendering();
+}
 
 void CFX_PSRenderer::Init(const RetainPtr<IFX_RetainableWriteStream>& pStream,
                           RenderingLevel level,
diff --git a/core/fxge/win32/cfx_psrenderer.h b/core/fxge/win32/cfx_psrenderer.h
index 69e0564..527532c 100644
--- a/core/fxge/win32/cfx_psrenderer.h
+++ b/core/fxge/win32/cfx_psrenderer.h
@@ -72,8 +72,6 @@
             RenderingLevel level,
             int width,
             int height);
-  void StartRendering();
-  void EndRendering();
   void SaveState();
   void RestoreState(bool bKeepSaved);
   void SetClip_PathFill(const CFX_Path* pPath,
@@ -124,6 +122,8 @@
  private:
   struct Glyph;
 
+  void StartRendering();
+  void EndRendering();
   void OutputPath(const CFX_Path* pPath, const CFX_Matrix* pObject2Device);
   void SetGraphState(const CFX_GraphStateData* pGraphState);
   void SetColor(uint32_t color);
diff --git a/core/fxge/win32/cps_printer_driver.cpp b/core/fxge/win32/cps_printer_driver.cpp
index 2df49a7..ab6fe06 100644
--- a/core/fxge/win32/cps_printer_driver.cpp
+++ b/core/fxge/win32/cps_printer_driver.cpp
@@ -88,9 +88,7 @@
   ::DeleteObject(hRgn);
 }
 
-CPSPrinterDriver::~CPSPrinterDriver() {
-  m_PSRenderer.EndRendering();
-}
+CPSPrinterDriver::~CPSPrinterDriver() = default;
 
 DeviceType CPSPrinterDriver::GetDeviceType() const {
   return DeviceType::kPrinter;
