diff --git a/fxjs/cfxjse_context.cpp b/fxjs/cfxjse_context.cpp
index 59cb4af..e9297e5 100644
--- a/fxjs/cfxjse_context.cpp
+++ b/fxjs/cfxjse_context.cpp
@@ -90,17 +90,10 @@
   return hContext->Global()->GetPrototype().As<v8::Object>();
 }
 
-}  // namespace
-
-// Note, not in the anonymous namespace due to the friend call
-// in cfxjse_context.h
-// TODO(dsinclair): Remove the friending, use public methods.
 class CFXJSE_ScopeUtil_IsolateHandleContext {
  public:
   explicit CFXJSE_ScopeUtil_IsolateHandleContext(CFXJSE_Context* pContext)
-      : m_parent(pContext->m_pIsolate),
-        m_cscope(v8::Local<v8::Context>::New(pContext->m_pIsolate,
-                                             pContext->m_hContext)) {}
+      : m_parent(pContext->GetIsolate()), m_cscope(pContext->GetContext()) {}
 
  private:
   CFXJSE_ScopeUtil_IsolateHandleContext(
@@ -113,6 +106,8 @@
   v8::Context::Scope m_cscope;
 };
 
+}  // namespace
+
 void FXJSE_UpdateObjectBinding(v8::Local<v8::Object>& hObject,
                                CFXJSE_HostObject* lpNewBinding) {
   ASSERT(!hObject.IsEmpty());
diff --git a/fxjs/cfxjse_context.h b/fxjs/cfxjse_context.h
index 8ab9551..b4db8f7 100644
--- a/fxjs/cfxjse_context.h
+++ b/fxjs/cfxjse_context.h
@@ -39,8 +39,6 @@
                      CFXJSE_Value* lpNewThisObject = nullptr);
 
  protected:
-  friend class CFXJSE_ScopeUtil_IsolateHandleContext;
-
   CFXJSE_Context(const CFXJSE_Context&) = delete;
   CFXJSE_Context& operator=(const CFXJSE_Context&) = delete;
 
