diff --git a/indra/newview/llfloaterinventory.cpp b/indra/newview/llfloaterinventory.cpp
index db38fc0fb34f65ec715caef1f09b9598df13e635..4a2e1913cd82d9b93395ee5139226a1fb6e1ebd1 100644
--- a/indra/newview/llfloaterinventory.cpp
+++ b/indra/newview/llfloaterinventory.cpp
@@ -107,10 +107,14 @@ LLInventoryPanel* LLFloaterInventory::getPanel()
 // static
 LLFloaterInventory* LLFloaterInventory::showAgentInventory()
 {
+	// Hack to generate semi-unique key for each inventory floater.
+	static S32 instance_num = 0;
+	instance_num = (instance_num + 1) % S32_MAX;
+
 	LLFloaterInventory* iv = NULL;
 	if (!gAgent.cameraMouselook())
 	{
-		iv = LLFloaterReg::showTypedInstance<LLFloaterInventory>("inventory", LLSD());
+		iv = LLFloaterReg::showTypedInstance<LLFloaterInventory>("inventory", LLSD(instance_num));
 	}
 	return iv;
 }
diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml
index dca1692e4a26aa00f60fb2fbd9ad84895d289eb3..ff9f0daee69ddefa2739c1abe26e6556b7bacaa1 100644
--- a/indra/newview/skins/default/xui/en/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/en/floater_inventory.xml
@@ -11,7 +11,7 @@
  help_topic="inventory"
  save_rect="true"
  save_visibility="true"
- single_instance="true"
+ single_instance="false"
  title="INVENTORY"
  width="467">
     <floater.string