diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp
index acc139c5690345d3f6f7dbd4b63cddf6dd74510c..a7b93b80306d98b93632f5bc6352eb301ed0c936 100644
--- a/indra/newview/llinspectobject.cpp
+++ b/indra/newview/llinspectobject.cpp
@@ -111,6 +111,7 @@ class LLInspectObject : public LLInspect
 	
 private:
 	LLUUID				mObjectID;
+	LLUUID				mPreviousObjectID;
 	S32					mObjectFace;
 	viewer_media_t		mMediaImpl;
 	LLMediaEntry*       mMediaEntry;
@@ -249,6 +250,7 @@ void LLInspectObject::onClose(bool app_quitting)
 {
 	// Release selection to deselect
 	mObjectSelection = NULL;
+	mPreviousObjectID = mObjectID;
 
 	getChild<LLMenuButton>("gear_btn")->hideMenu();
 }
@@ -266,6 +268,13 @@ void LLInspectObject::update()
 	LLSelectNode* nodep = selection->getFirstRootNode();
 	if (!nodep) return;
 
+	// If we don't have fresh object info yet and it's the object we inspected last time,
+	// keep showing the previously retrieved data until we get the update.
+	if (!nodep->mValid && nodep->getObject()->getID() == mPreviousObjectID)
+	{
+		return;
+	}
+
 	updateButtons(nodep);
 	updateName(nodep);
 	updateDescription(nodep);