diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index a760ad9..5d5c2b5 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -1211,7 +1211,7 @@
   }
 
   v8::Local<v8::Object> pJSIcon = params[1].ToV8Object(pRuntime);
-  if (pRuntime->GetObjDefnID(pJSIcon) != CJS_Icon::g_nObjDefnID) {
+  if (CFXJS_Engine::GetObjDefnID(pJSIcon) != CJS_Icon::g_nObjDefnID) {
     sError = JSGetStringFromID(IDS_STRING_JSTYPEERROR);
     return false;
   }
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp
index 10aa513..7f5e5cb 100644
--- a/fxjs/fxjs_v8.cpp
+++ b/fxjs/fxjs_v8.cpp
@@ -171,15 +171,16 @@
   v8::Local<v8::Object> obj = value.Get(isolate);
   if (obj.IsEmpty())
     return;
-  CFXJS_Engine* pEngine = CFXJS_Engine::CurrentEngineFromIsolate(isolate);
-  int id = pEngine->GetObjDefnID(obj);
+  int id = CFXJS_Engine::GetObjDefnID(obj);
   if (id == -1)
     return;
   CFXJS_ObjDefinition* pObjDef = CFXJS_ObjDefinition::ForID(isolate, id);
   if (!pObjDef)
     return;
-  if (pObjDef->m_pDestructor)
-    pObjDef->m_pDestructor(pEngine, obj);
+  if (pObjDef->m_pDestructor) {
+    pObjDef->m_pDestructor(CFXJS_Engine::CurrentEngineFromIsolate(isolate),
+                           obj);
+  }
   CFXJS_Engine::FreeObjectPrivate(obj);
 }
 
