diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp
index b4a1394b06503d5eefba4bf07414ef3f39b9dbc9..60e66174f361c554fbb4ece461981a1fb5d9cad7 100644
--- a/indra/newview/llfloaterpathfindingcharacters.cpp
+++ b/indra/newview/llfloaterpathfindingcharacters.cpp
@@ -160,11 +160,11 @@ LLSD LLFloaterPathfindingCharacters::convertObjectsIntoScrollListData(const LLPa
 	return scrollListData;
 }
 
-void LLFloaterPathfindingCharacters::updateControls()
+void LLFloaterPathfindingCharacters::updateControlsOnScrollListChange()
 {
-	LLFloaterPathfindingObjects::updateControls();
-	updateOnScrollListChange();
-	updateStateOnActionFields();
+	LLFloaterPathfindingObjects::updateControlsOnScrollListChange();
+	updateStateOnDisplayControls();
+	showSelectedCharacterCapsules();
 }
 
 S32 LLFloaterPathfindingCharacters::getNameColumnIndex() const
@@ -233,7 +233,7 @@ LLSD LLFloaterPathfindingCharacters::buildCharacterScrollListData(const LLPathfi
 	return element;
 }
 
-void LLFloaterPathfindingCharacters::updateStateOnActionFields()
+void LLFloaterPathfindingCharacters::updateStateOnDisplayControls()
 {
 	int numSelectedItems = getNumSelectedObjects();;
 #ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
@@ -249,7 +249,7 @@ void LLFloaterPathfindingCharacters::updateStateOnActionFields()
 	}
 }
 
-void LLFloaterPathfindingCharacters::updateOnScrollListChange()
+void LLFloaterPathfindingCharacters::showSelectedCharacterCapsules()
 {
 	// Hide any previous capsule
 	hideCapsule();
diff --git a/indra/newview/llfloaterpathfindingcharacters.h b/indra/newview/llfloaterpathfindingcharacters.h
index a86a9700b15ad439c62ff3d4885c966832579aef..be178d2746ee4bfc1f1c3671dadf43c8c4dad0aa 100644
--- a/indra/newview/llfloaterpathfindingcharacters.h
+++ b/indra/newview/llfloaterpathfindingcharacters.h
@@ -61,7 +61,7 @@ class LLFloaterPathfindingCharacters : public LLFloaterPathfindingObjects
 
 	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr);
 
-	virtual void                       updateControls();
+	virtual void                       updateControlsOnScrollListChange();
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
@@ -73,8 +73,8 @@ class LLFloaterPathfindingCharacters : public LLFloaterPathfindingObjects
 
 	LLSD buildCharacterScrollListData(const LLPathfindingCharacter *pCharacterPtr) const;
 
-	void updateStateOnActionFields();
-	void updateOnScrollListChange();
+	void updateStateOnDisplayControls();
+	void showSelectedCharacterCapsules();
 
 	void showCapsule() const;
 	void hideCapsule() const;
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp
index 8488ee1aa3bdac066e4fee5687e3a747eb217046..a7b856b271f972bed7a1aea5c635937ddd9f8903 100644
--- a/indra/newview/llfloaterpathfindinglinksets.cpp
+++ b/indra/newview/llfloaterpathfindinglinksets.cpp
@@ -250,9 +250,9 @@ LLSD LLFloaterPathfindingLinksets::convertObjectsIntoScrollListData(const LLPath
 	return scrollListData;
 }
 
-void LLFloaterPathfindingLinksets::updateControls()
+void LLFloaterPathfindingLinksets::updateControlsOnScrollListChange()
 {
-	LLFloaterPathfindingObjects::updateControls();
+	LLFloaterPathfindingObjects::updateControlsOnScrollListChange();
 	updateEditFieldValues();
 	updateStateOnEditFields();
 	updateStateOnEditLinksetUse();
diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h
index 8c464dc1d5e70ad5a4088b384e5e7748c9e2ecc5..c9ae5a059a896a8df4a55dedf0bebf69211bbc43 100644
--- a/indra/newview/llfloaterpathfindinglinksets.h
+++ b/indra/newview/llfloaterpathfindinglinksets.h
@@ -60,7 +60,7 @@ class LLFloaterPathfindingLinksets : public LLFloaterPathfindingObjects
 
 	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr);
 
-	virtual void                       updateControls();
+	virtual void                       updateControlsOnScrollListChange();
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
diff --git a/indra/newview/llfloaterpathfindingobjects.cpp b/indra/newview/llfloaterpathfindingobjects.cpp
index 6f183c78b102e51feba61c6c6c4315e6bc080e74..14fa0ac4282990185dd837a4fe3e91ea8030f3a9 100644
--- a/indra/newview/llfloaterpathfindingobjects.cpp
+++ b/indra/newview/llfloaterpathfindingobjects.cpp
@@ -348,7 +348,7 @@ void LLFloaterPathfindingObjects::rebuildObjectsScrollList()
 
 	mObjectsScrollList->selectMultiple(selectedUUIDs);
 	mObjectsScrollList->setScrollPos(origScrollPosition);
-	updateControls();
+	updateControlsOnScrollListChange();
 }
 
 LLSD LLFloaterPathfindingObjects::convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr)
@@ -368,11 +368,17 @@ void LLFloaterPathfindingObjects::rebuildScrollListAfterAvatarNameLoads(const LL
 	}
 }
 
-void LLFloaterPathfindingObjects::updateControls()
+void LLFloaterPathfindingObjects::updateControlsOnScrollListChange()
 {
 	updateMessagingStatus();
-	updateStateOnListActionControls();
-	updateStateOnEditFields();
+	updateStateOnListControls();
+	selectScrollListItemsInWorld();
+	updateStateOnActionControls();
+}
+
+void LLFloaterPathfindingObjects::updateControlsOnInWorldSelectionChange()
+{
+	updateStateOnActionControls();
 }
 
 S32 LLFloaterPathfindingObjects::getNameColumnIndex() const
@@ -491,7 +497,7 @@ LLFloaterPathfindingObjects::EMessagingState LLFloaterPathfindingObjects::getMes
 void LLFloaterPathfindingObjects::setMessagingState(EMessagingState pMessagingState)
 {
 	mMessagingState = pMessagingState;
-	updateControls();
+	updateControlsOnScrollListChange();
 }
 
 void LLFloaterPathfindingObjects::onRefreshObjectsClicked()
@@ -539,13 +545,12 @@ void LLFloaterPathfindingObjects::onTeleportClicked()
 
 void LLFloaterPathfindingObjects::onScrollListSelectionChanged()
 {
-	updateOnScrollListChange();
-	updateControls();
+	updateControlsOnScrollListChange();
 }
 
 void LLFloaterPathfindingObjects::onInWorldSelectionListChanged()
 {
-	updateControls();
+	updateControlsOnInWorldSelectionChange();
 }
 
 void LLFloaterPathfindingObjects::onRegionBoundaryCrossed()
@@ -632,7 +637,7 @@ void LLFloaterPathfindingObjects::updateMessagingStatus()
 	mMessagingStatus->setText((LLStringExplicit)statusText, styleParams);
 }
 
-void LLFloaterPathfindingObjects::updateStateOnListActionControls()
+void LLFloaterPathfindingObjects::updateStateOnListControls()
 {
 	switch (getMessagingState())
 	{
@@ -665,7 +670,7 @@ void LLFloaterPathfindingObjects::updateStateOnListActionControls()
 	}
 }
 
-void LLFloaterPathfindingObjects::updateStateOnEditFields()
+void LLFloaterPathfindingObjects::updateStateOnActionControls()
 {
 	int numSelectedItems = mObjectsScrollList->getNumSelected();
 	bool isEditEnabled = (numSelectedItems > 0);
@@ -678,7 +683,7 @@ void LLFloaterPathfindingObjects::updateStateOnEditFields()
 	mTeleportButton->setEnabled(numSelectedItems == 1);
 }
 
-void LLFloaterPathfindingObjects::updateOnScrollListChange()
+void LLFloaterPathfindingObjects::selectScrollListItemsInWorld()
 {
 	mObjectsSelection.clear();
 	LLSelectMgr::getInstance()->deselectAll();
diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index cf418b3b71cd4cbd4bf682004846a918c646eda2..88790db12d2a20245eaa4702657d502463bb6da9 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -82,7 +82,8 @@ class LLFloaterPathfindingObjects : public LLFloater
 
 	void                               rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId);
 
-	virtual void                       updateControls();
+	virtual void                       updateControlsOnScrollListChange();
+	virtual void                       updateControlsOnInWorldSelectionChange();
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
@@ -124,9 +125,9 @@ class LLFloaterPathfindingObjects : public LLFloater
 	void                   handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName);
 
 	void                   updateMessagingStatus();
-	void                   updateStateOnListActionControls();
-	void                   updateStateOnEditFields();
-	void                   updateOnScrollListChange();
+	void                   updateStateOnListControls();
+	void                   updateStateOnActionControls();
+	void                   selectScrollListItemsInWorld();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;