diff --git a/core/fpdfapi/BUILD.gn b/core/fpdfapi/BUILD.gn
index f4ea940..9ebdab7 100644
--- a/core/fpdfapi/BUILD.gn
+++ b/core/fpdfapi/BUILD.gn
@@ -28,7 +28,6 @@
   allow_circular_includes_from = [
     "page",
     "parser",
-    "render",
   ]
   visibility = [ "../../*" ]
 }
diff --git a/core/fpdfapi/cpdf_modulemgr.cpp b/core/fpdfapi/cpdf_modulemgr.cpp
index 7b9f8f6..ebe7758 100644
--- a/core/fpdfapi/cpdf_modulemgr.cpp
+++ b/core/fpdfapi/cpdf_modulemgr.cpp
@@ -26,13 +26,14 @@
   ASSERT(!g_pDefaultMgr);
   g_pDefaultMgr = new CPDF_ModuleMgr;
   CCodec_ModuleMgr::Create();
-  g_pDefaultMgr->InitPageModule();
+  CPDF_PageModule::Create();
   g_pDefaultMgr->LoadEmbeddedMaps();
 }
 
 // static
 void CPDF_ModuleMgr::Destroy() {
   ASSERT(g_pDefaultMgr);
+  CPDF_PageModule::Destroy();
   CCodec_ModuleMgr::Destroy();
   delete g_pDefaultMgr;
   g_pDefaultMgr = nullptr;
@@ -48,10 +49,6 @@
 
 CPDF_ModuleMgr::~CPDF_ModuleMgr() = default;
 
-void CPDF_ModuleMgr::InitPageModule() {
-  m_pPageModule = pdfium::MakeUnique<CPDF_PageModule>();
-}
-
 void CPDF_ModuleMgr::LoadEmbeddedMaps() {
   LoadEmbeddedGB1CMaps();
   LoadEmbeddedCNS1CMaps();
diff --git a/core/fpdfapi/cpdf_modulemgr.h b/core/fpdfapi/cpdf_modulemgr.h
index f768d19..70eb6f0 100644
--- a/core/fpdfapi/cpdf_modulemgr.h
+++ b/core/fpdfapi/cpdf_modulemgr.h
@@ -10,8 +10,6 @@
 #include <memory>
 #include <utility>
 
-class CPDF_PageModule;
-
 namespace fpdfapi {
 
 class UnsupportedInfoAdapter {
@@ -41,8 +39,6 @@
     return m_pUnsupportInfoAdapter.get();
   }
 
-  CPDF_PageModule* GetPageModule() const { return m_pPageModule.get(); }
-
  private:
   CPDF_ModuleMgr();
   ~CPDF_ModuleMgr();
@@ -54,7 +50,6 @@
   void LoadEmbeddedJapan1CMaps();
   void LoadEmbeddedKorea1CMaps();
 
-  std::unique_ptr<CPDF_PageModule> m_pPageModule;
   std::unique_ptr<fpdfapi::UnsupportedInfoAdapter> m_pUnsupportInfoAdapter;
 };
 
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index a52a0a8..70bef78 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -12,7 +12,6 @@
 #include <utility>
 #include <vector>
 
-#include "core/fpdfapi/cpdf_modulemgr.h"
 #include "core/fpdfapi/page/cpdf_devicecs.h"
 #include "core/fpdfapi/page/cpdf_docpagedata.h"
 #include "core/fpdfapi/page/cpdf_function.h"
@@ -432,7 +431,7 @@
 
 // static
 RetainPtr<CPDF_ColorSpace> CPDF_ColorSpace::GetStockCS(int family) {
-  return CPDF_ModuleMgr::Get()->GetPageModule()->GetStockCS(family);
+  return CPDF_PageModule::GetInstance()->GetStockCS(family);
 }
 
 // static
diff --git a/core/fpdfapi/page/cpdf_pagemodule.cpp b/core/fpdfapi/page/cpdf_pagemodule.cpp
index 95d23baf..65aba70 100644
--- a/core/fpdfapi/page/cpdf_pagemodule.cpp
+++ b/core/fpdfapi/page/cpdf_pagemodule.cpp
@@ -11,6 +11,31 @@
 #include "core/fpdfapi/page/cpdf_devicecs.h"
 #include "core/fpdfapi/page/cpdf_patterncs.h"
 
+namespace {
+
+CPDF_PageModule* g_PageModule = nullptr;
+
+}  // namespace
+
+// static
+void CPDF_PageModule::Create() {
+  ASSERT(!g_PageModule);
+  g_PageModule = new CPDF_PageModule();
+}
+
+// static
+void CPDF_PageModule::Destroy() {
+  ASSERT(g_PageModule);
+  delete g_PageModule;
+  g_PageModule = nullptr;
+}
+
+// static
+CPDF_PageModule* CPDF_PageModule::GetInstance() {
+  ASSERT(g_PageModule);
+  return g_PageModule;
+}
+
 CPDF_PageModule::CPDF_PageModule()
     : m_StockGrayCS(pdfium::MakeRetain<CPDF_DeviceCS>(PDFCS_DEVICEGRAY)),
       m_StockRGBCS(pdfium::MakeRetain<CPDF_DeviceCS>(PDFCS_DEVICERGB)),
diff --git a/core/fpdfapi/page/cpdf_pagemodule.h b/core/fpdfapi/page/cpdf_pagemodule.h
index cd078ea..e7234b9 100644
--- a/core/fpdfapi/page/cpdf_pagemodule.h
+++ b/core/fpdfapi/page/cpdf_pagemodule.h
@@ -16,13 +16,18 @@
 
 class CPDF_PageModule {
  public:
-  CPDF_PageModule();
-  ~CPDF_PageModule();
+  // Per-process singleton managed by callers.
+  static void Create();
+  static void Destroy();
+  static CPDF_PageModule* GetInstance();
 
   RetainPtr<CPDF_ColorSpace> GetStockCS(int family);
   void ClearStockFont(CPDF_Document* pDoc);
 
  private:
+  CPDF_PageModule();
+  ~CPDF_PageModule();
+
   RetainPtr<CPDF_DeviceCS> m_StockGrayCS;
   RetainPtr<CPDF_DeviceCS> m_StockRGBCS;
   RetainPtr<CPDF_DeviceCS> m_StockCMYKCS;
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp
index 3ead07e..0ddaefe 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/parser/cpdf_data_avail.cpp
@@ -10,7 +10,6 @@
 #include <memory>
 #include <utility>
 
-#include "core/fpdfapi/cpdf_modulemgr.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_cross_ref_avail.h"
 #include "core/fpdfapi/parser/cpdf_dictionary.h"
diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp
index 12149d0..9b8cc0b 100644
--- a/core/fpdfapi/parser/cpdf_document.cpp
+++ b/core/fpdfapi/parser/cpdf_document.cpp
@@ -12,7 +12,6 @@
 #include <vector>
 
 #include "build/build_config.h"
-#include "core/fpdfapi/cpdf_modulemgr.h"
 #include "core/fpdfapi/page/cpdf_docpagedata.h"
 #include "core/fpdfapi/page/cpdf_iccprofile.h"
 #include "core/fpdfapi/page/cpdf_pagemodule.h"
@@ -895,5 +894,5 @@
     : m_pDoc(pDoc) {}
 
 CPDF_Document::StockFontClearer::~StockFontClearer() {
-  CPDF_ModuleMgr::Get()->GetPageModule()->ClearStockFont(m_pDoc.Get());
+  CPDF_PageModule::GetInstance()->ClearStockFont(m_pDoc.Get());
 }
diff --git a/core/fpdfapi/parser/fpdf_parser_decode.cpp b/core/fpdfapi/parser/fpdf_parser_decode.cpp
index 034f65d..9cf68d5 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_decode.cpp
@@ -14,7 +14,6 @@
 #include <vector>
 
 #include "constants/stream_dict_common.h"
-#include "core/fpdfapi/cpdf_modulemgr.h"
 #include "core/fpdfapi/parser/cpdf_array.h"
 #include "core/fpdfapi/parser/cpdf_dictionary.h"
 #include "core/fpdfapi/parser/fpdf_parser_utility.h"
diff --git a/core/fpdfapi/render/cpdf_dibbase.cpp b/core/fpdfapi/render/cpdf_dibbase.cpp
index 4a39067..72d7ad9 100644
--- a/core/fpdfapi/render/cpdf_dibbase.cpp
+++ b/core/fpdfapi/render/cpdf_dibbase.cpp
@@ -11,7 +11,6 @@
 #include <utility>
 #include <vector>
 
-#include "core/fpdfapi/cpdf_modulemgr.h"
 #include "core/fpdfapi/page/cpdf_docpagedata.h"
 #include "core/fpdfapi/page/cpdf_image.h"
 #include "core/fpdfapi/page/cpdf_imageobject.h"
