diff --git a/accessible/src/base/FocusManager.cpp b/accessible/src/base/FocusManager.cpp
index b85cbd39a4b8029fa124a0a6a57091770b9762f2..eed6b9a484da30b537709e34129690469bb1faa4 100644
--- a/accessible/src/base/FocusManager.cpp
+++ b/accessible/src/base/FocusManager.cpp
@@ -287,11 +287,12 @@ FocusManager::ProcessFocusEvent(AccEvent* aEvent)
   // if it's still focused and then update active item and emit focus event.
   nsAccessible* target = aEvent->GetAccessible();
   if (target != mActiveItem) {
+
     // Check if still focused. Otherwise we can end up with storing the active
     // item for control that isn't focused anymore.
-    nsAccessible* DOMFocus =
-      GetAccService()->GetAccessibleOrContainer(FocusedDOMNode(),
-	                                        aEvent->GetDocAccessible());
+    nsDocAccessible* document = aEvent->GetDocAccessible();
+    nsAccessible* DOMFocus = document->GetAccessibleOrContainer(FocusedDOMNode());
+
     if (target != DOMFocus)
       return;
 
diff --git a/accessible/src/base/NotificationController.cpp b/accessible/src/base/NotificationController.cpp
index eb3c67e578a958613b861093e64f9ad3e8c80003..5a1db68a8d28882472449cb76ef3d269dfe63e2f 100644
--- a/accessible/src/base/NotificationController.cpp
+++ b/accessible/src/base/NotificationController.cpp
@@ -669,9 +669,8 @@ NotificationController::CoalesceTextChangeEventsFor(AccShowEvent* aTailEvent,
 void
 NotificationController::CreateTextChangeEventFor(AccMutationEvent* aEvent)
 {
-  nsAccessible* container =
-    GetAccService()->GetContainerAccessible(aEvent->mNode,
-                                            aEvent->GetDocAccessible());
+  nsDocAccessible* document = aEvent->GetDocAccessible();
+  nsAccessible* container = document->GetContainerAccessible(aEvent->mNode);
   if (!container)
     return;
 
diff --git a/accessible/src/base/nsAccessibilityService.cpp b/accessible/src/base/nsAccessibilityService.cpp
index ef2b3667b4e1e9053402d51a2c13762397f097e2..408c9641e49b4e4c3e123aaba3b9fbcbe397f117 100644
--- a/accessible/src/base/nsAccessibilityService.cpp
+++ b/accessible/src/base/nsAccessibilityService.cpp
@@ -919,17 +919,6 @@ nsAccessibilityService::GetAccessible(nsINode* aNode, nsIPresShell* aPresShell)
   return document ? document->GetAccessible(aNode) : nsnull;
 }
 
-nsAccessible*
-nsAccessibilityService::GetAccessibleOrContainer(nsINode* aNode, nsDocAccessible* aDoc)
-{
-  if (!aNode)
-    return nsnull;
-
-  NS_PRECONDITION(aDoc, "Must pass a document accessible.");
-
-  return aDoc ? aDoc->GetAccessibleOrContainer(aNode) : nsnull;
-}
-
 static bool HasRelatedContent(nsIContent *aContent)
 {
   nsAutoString id;
diff --git a/accessible/src/base/nsAccessibilityService.h b/accessible/src/base/nsAccessibilityService.h
index ad2acafb3e91a584489e0cc0dcd18d174444bf36..e3f114caca7b3df5c1a65f8c01d2c67e577a70eb 100644
--- a/accessible/src/base/nsAccessibilityService.h
+++ b/accessible/src/base/nsAccessibilityService.h
@@ -197,24 +197,6 @@ public:
    */
   nsAccessible* GetAccessible(nsINode* aNode, nsIPresShell* aPresShell);
 
-  /**
-   * Return an accessible for the given DOM node or container accessible if
-   * the node is not accessible.
-   *
-   * @param aNode [in] the given node
-   * @param aDoc  [in] the document accessible. Can't be null.
-   */
-  nsAccessible* GetAccessibleOrContainer(nsINode* aNode, nsDocAccessible* aDoc);
-
-  /**
-   * Return a container accessible for the given DOM node.
-   */
-  nsAccessible* GetContainerAccessible(nsINode* aNode, nsDocAccessible* aDoc)
-  {
-    return aNode ?
-      GetAccessibleOrContainer(aNode->GetNodeParent(), aDoc) : nsnull;
-  }
-
 private:
   // nsAccessibilityService creation is controlled by friend
   // NS_GetAccessibilityService, keep constructors private.
diff --git a/accessible/src/base/nsAccessible.cpp b/accessible/src/base/nsAccessible.cpp
index f5c0637630673da7e03f45b16531c85f792ebab4..da8039e7db6e5b84f441cf60cd38ba6fbfba54fb 100644
--- a/accessible/src/base/nsAccessible.cpp
+++ b/accessible/src/base/nsAccessible.cpp
@@ -852,8 +852,7 @@ nsAccessible::ChildAtPoint(PRInt32 aX, PRInt32 aY,
 
   // Get accessible for the node with the point or the first accessible in
   // the DOM parent chain.
-  nsAccessible* accessible =
-    GetAccService()->GetAccessibleOrContainer(content, accDocument);
+  nsAccessible* accessible = accDocument->GetAccessibleOrContainer(content);
   if (!accessible)
     return fallbackAnswer;