diff --git a/fpdfsdk/fsdk_baseform.cpp b/fpdfsdk/fsdk_baseform.cpp
index 4a25400..6693de1 100644
--- a/fpdfsdk/fsdk_baseform.cpp
+++ b/fpdfsdk/fsdk_baseform.cpp
@@ -7,6 +7,7 @@
 #include "fpdfsdk/include/fsdk_baseform.h"
 
 #include <algorithm>
+#include <map>
 #include <memory>
 #include <vector>
 
@@ -1997,7 +1998,7 @@
   m_pInterForm = nullptr;
   m_Map.clear();
 #ifdef PDF_ENABLE_XFA
-  m_XFAMap.RemoveAll();
+  m_XFAMap.clear();
 #endif  // PDF_ENABLE_XFA
 }
 
@@ -2114,18 +2115,19 @@
 #ifdef PDF_ENABLE_XFA
 void CPDFSDK_InterForm::AddXFAMap(CXFA_FFWidget* hWidget,
                                   CPDFSDK_XFAWidget* pWidget) {
-  m_XFAMap.SetAt(hWidget, pWidget);
+  FXSYS_assert(hWidget);
+  m_XFAMap[hWidget] = pWidget;
 }
 
 void CPDFSDK_InterForm::RemoveXFAMap(CXFA_FFWidget* hWidget) {
-  m_XFAMap.RemoveKey(hWidget);
+  FXSYS_assert(hWidget);
+  m_XFAMap.erase(hWidget);
 }
 
 CPDFSDK_XFAWidget* CPDFSDK_InterForm::GetXFAWidget(CXFA_FFWidget* hWidget) {
-  CPDFSDK_XFAWidget* pWidget = NULL;
-  m_XFAMap.Lookup(hWidget, pWidget);
-
-  return pWidget;
+  FXSYS_assert(hWidget);
+  auto it = m_XFAMap.find(hWidget);
+  return it != m_XFAMap.end() ? it->second : nullptr;
 }
 
 void CPDFSDK_InterForm::XfaEnableCalculate(FX_BOOL bEnabled) {
@@ -2454,14 +2456,8 @@
 #ifdef PDF_ENABLE_XFA
 void CPDFSDK_InterForm::SynchronizeField(CPDF_FormField* pFormField,
                                          FX_BOOL bSynchronizeElse) {
-  int x = 0;
-  if (m_FieldSynchronizeMap.Lookup(pFormField, x))
-    return;
-
   for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
     CPDF_FormControl* pFormCtrl = pFormField->GetControl(i);
-    ASSERT(pFormCtrl);
-    ASSERT(m_pInterForm);
     if (CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) {
       pWidget->Synchronize(bSynchronizeElse);
     }
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h
index fbe9a41..fa19c75 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -243,9 +243,6 @@
   CPDFSDK_InterForm* m_pInterForm;
   CXFA_FFWidget* m_hXFAWidget;
 };
-#define CPDFSDK_XFAWidgetMap \
-  CFX_MapPtrTemplate<CXFA_FFWidget*, CPDFSDK_XFAWidget*>
-#define CPDFSDK_FieldSynchronizeMap CFX_MapPtrTemplate<CPDF_FormField*, int>
 #endif  // PDF_ENABLE_XFA
 
 class CPDFSDK_InterForm : public CPDF_FormNotify {
@@ -341,8 +338,7 @@
   CPDF_InterForm* m_pInterForm;
   CPDFSDK_WidgetMap m_Map;
 #ifdef PDF_ENABLE_XFA
-  CPDFSDK_XFAWidgetMap m_XFAMap;
-  CPDFSDK_FieldSynchronizeMap m_FieldSynchronizeMap;
+  std::map<CXFA_FFWidget*, CPDFSDK_XFAWidget*> m_XFAMap;
   FX_BOOL m_bXfaCalculate;
   FX_BOOL m_bXfaValidationsEnabled;
 #endif  // PDF_ENABLE_XFA
