diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index c4211d550806ab77b16d9729cb991061e2423e73..addb0fbe4d0879c79b75e016ae30049591503e2d 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1849,6 +1849,7 @@ void LLPanelObjectInventory::refresh()
 			if(mTaskUUID != object->mID)
 			{
 				mTaskUUID = object->mID;
+				mAttachmentUUID = object->getAttachmentItemID();
 				make_request = TRUE;
 
 				// This is a new object so pre-emptively clear the contents
@@ -1858,6 +1859,16 @@ void LLPanelObjectInventory::refresh()
 				// Register for updates from this object,
 				registerVOInventoryListener(object,NULL);
 			}
+			else if (mAttachmentUUID != object->getAttachmentItemID())
+			{
+				mAttachmentUUID = object->getAttachmentItemID();
+				if (mAttachmentUUID.notNull())
+				{
+					// Server unsubsribes viewer (deselects object) from property
+					// updates after "ObjectAttach" so we need to resubscribe
+					LLSelectMgr::getInstance()->sendSelect();
+				}
+			}
 
 			// Based on the node information, we may need to dirty the
 			// object inventory and get it again.
@@ -1888,6 +1899,7 @@ void LLPanelObjectInventory::refresh()
 void LLPanelObjectInventory::clearInventoryTask()
 {
 	mTaskUUID = LLUUID::null;
+	mAttachmentUUID = LLUUID::null;
 	removeVOInventoryListener();
 	clearContents();
 }
diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h
index 3de49242accf08ad6eedff7422159acff06900ef..d700c8f4cfb73bf96edce26ec1c45912a1c246ab 100644
--- a/indra/newview/llpanelobjectinventory.h
+++ b/indra/newview/llpanelobjectinventory.h
@@ -105,6 +105,7 @@ class LLPanelObjectInventory : public LLPanel, public LLVOInventoryListener
 	LLFolderView* mFolders;
 	
 	LLUUID mTaskUUID;
+	LLUUID mAttachmentUUID;
 	BOOL mHaveInventory;
 	BOOL mIsInventoryEmpty;
 	BOOL mInventoryNeedsUpdate;
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index e4641d87212dbae035285c2fdb808fbff1110e59..ee7c22800aa811c9c282008c9c4e2969643fa5ee 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -4416,6 +4416,9 @@ void LLSelectMgr::sendAttach(U8 attachment_point, bool replace)
 			SEND_ONLY_ROOTS );
 		if (!build_mode)
 		{
+			// After "ObjectAttach" server will unsubscribe us from properties updates
+			// so either deselect objects or resend selection after attach packet reaches server
+			// In case of build_mode LLPanelObjectInventory::refresh() will deal with selection
 			deselectAll();
 		}
 	}