diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 9f8446210e8de9e94e3f31a364e0889634b3a7a5..972b3b952887ff56b8a0217dedcb85b921afa9ed 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -66,7 +66,6 @@ BOOL LLFloaterInspect::postBuild()
 //	childSetAction("button creator",onClickCreatorProfile, this);
 //	childSetCommitCallback("object_list", onSelectObject, NULL);
 	
-	mObjectSelection = LLSelectMgr::getInstance()->getSelection();
 	refresh();
 	
 	return TRUE;
@@ -120,6 +119,8 @@ void LLFloaterInspect::onOpen(const LLSD& key)
 	BOOL forcesel = LLSelectMgr::getInstance()->setForceSelection(TRUE);
 	LLToolMgr::getInstance()->setTransientTool(LLToolCompInspect::getInstance());
 	LLSelectMgr::getInstance()->setForceSelection(forcesel);	// restore previouis value
+	mObjectSelection = LLSelectMgr::getInstance()->getSelection();
+	refresh();
 }
 void LLFloaterInspect::onClickCreatorProfile()
 {
diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp
index 09460e41add5df601aa87c3b87f6edef52af511c..ba23a58b372aa7ac895cd69fac79b302e333eaa1 100644
--- a/indra/newview/llfloateropenobject.cpp
+++ b/indra/newview/llfloateropenobject.cpp
@@ -74,7 +74,6 @@ LLFloaterOpenObject::~LLFloaterOpenObject()
 // virtual
 BOOL LLFloaterOpenObject::postBuild()
 {
-	mObjectSelection = LLSelectMgr::getInstance()->getEditSelection();
 	childSetTextArg("object_name", "[DESC]", std::string("Object") ); // *Note: probably do not want to translate this
 	mPanelInventory = getChild<LLPanelInventory>("object_contents");
 	return TRUE;
@@ -94,6 +93,7 @@ void LLFloaterOpenObject::onOpen(const LLSD& key)
 		closeFloater();
 		return;
 	}
+	mObjectSelection = LLSelectMgr::getInstance()->getEditSelection();
 }
 void LLFloaterOpenObject::refresh()
 {
diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp
index 1d2d3b98f245a5eceb0c9b5cf756216124465e02..174350ddf4036d0ccabb8354c316e76d60db37fe 100644
--- a/indra/newview/llfloatertelehub.cpp
+++ b/indra/newview/llfloatertelehub.cpp
@@ -93,8 +93,6 @@ LLFloaterTelehub::LLFloaterTelehub()
 	gMessageSystem->setHandlerFunc("TelehubInfo", processTelehubInfo);
 
 	LLUICtrlFactory::getInstance()->buildFloater(sInstance, "floater_telehub.xml");
-
-	mObjectSelection = LLSelectMgr::getInstance()->getEditSelection();
 }
 BOOL LLFloaterTelehub::postBuild()
 {
@@ -113,6 +111,10 @@ BOOL LLFloaterTelehub::postBuild()
 
 	return TRUE;
 }
+void LLFloaterTelehub::onOpen(const LLSD& key)
+{
+	mObjectSelection = LLSelectMgr::getInstance()->getEditSelection();
+}
 LLFloaterTelehub::~LLFloaterTelehub()
 {
 	sInstance = NULL;
diff --git a/indra/newview/llfloatertelehub.h b/indra/newview/llfloatertelehub.h
index b639338dfcefaa4e2a37c63fb89be2129f0f74d7..86749dcc0b7b30d03929f2e76278d04c3fc25714 100644
--- a/indra/newview/llfloatertelehub.h
+++ b/indra/newview/llfloatertelehub.h
@@ -49,6 +49,7 @@ class LLFloaterTelehub : public LLFloater
 
 	virtual void draw();
 	/*virtual*/	BOOL	postBuild();
+	void onOpen(const LLSD& key);
 	static BOOL renderBeacons();
 	static void addBeacons();
 
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index e690ae5f6fc40e75a23ca361c3ca84fe49ada79c..1ee58770853b78627861fa9753a9f0879e3cc69e 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2868,10 +2868,10 @@ void LLViewerWindow::updateKeyboardFocus()
 	}
 
 	// last ditch force of edit menu to selection manager
-	if (LLEditMenuHandler::gEditMenuHandler == NULL && LLSelectMgr::getInstance()->getSelection()->getObjectCount())
-	{
-		LLEditMenuHandler::gEditMenuHandler = LLSelectMgr::getInstance();
-	}
+//	if (LLEditMenuHandler::gEditMenuHandler == NULL && LLSelectMgr::getInstance()->getSelection()->getObjectCount())
+//	{
+//		LLEditMenuHandler::gEditMenuHandler = LLSelectMgr::getInstance();
+//	}
 
 	if (gFloaterView->getCycleMode())
 	{