diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 4643430c6bb03eb20535951dc7f2e502719c6c2d..897da7f0b3eebd67340fcc9f311d2ee945e36e2f 100755
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -365,7 +365,16 @@ LLViewerObject* LLViewerObjectList::processObjectUpdateFromCache(LLVOCacheEntry*
 		
 	processUpdateCore(objectp, NULL, 0, OUT_FULL_CACHED, cached_dpp, justCreated, true);
 	objectp->loadFlags(entry->getUpdateFlags()); //just in case, reload update flags from cache.
-
+	
+	if(entry->getHitCount() > 0)
+	{
+		objectp->setLastUpdateType(OUT_FULL_CACHED);
+	}
+	else
+	{
+		objectp->setLastUpdateType(OUT_FULL_COMPRESSED); //newly cached
+		objectp->setLastUpdateCached(TRUE);
+	}
 	recorder.log(0.2f);
 	LLVOAvatar::cullAvatarsByPixelArea();
 
@@ -467,10 +476,10 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
 			
 				if(flags & FLAGS_TEMPORARY_ON_REZ)
 				{
-				compressed_dp.unpackUUID(fullid, "ID");
-				compressed_dp.unpackU32(local_id, "LocalID");
-				compressed_dp.unpackU8(pcode, "PCode");
-			}
+					compressed_dp.unpackUUID(fullid, "ID");
+					compressed_dp.unpackU32(local_id, "LocalID");
+					compressed_dp.unpackU8(pcode, "PCode");
+				}
 				else //send to object cache
 				{
 					regionp->cacheFullUpdate(compressed_dp, flags);
@@ -608,7 +617,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
 			LL_WARNS() << "Dead object " << objectp->mID << " in UUID map 1!" << LL_ENDL;
 		}
 
-		bool bCached = false;
+		//bool bCached = false;
 		if (compressed)
 		{
 			if (update_type != OUT_TERSE_IMPROVED) // OUT_FULL_COMPRESSED only?
@@ -641,8 +650,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
 			processUpdateCore(objectp, user_data, i, update_type, NULL, justCreated);
 		}
 		recorder.objectUpdateEvent(local_id, update_type, objectp, msg_size);
-		objectp->setLastUpdateType(update_type);
-		objectp->setLastUpdateCached(bCached);
+		objectp->setLastUpdateType(update_type);		
 	}
 
 	recorder.log(0.2f);
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index ebde17dcef1de38018af16a68ffd4134d3411888..dcd1ae391da82c1a3a9366126334f08324028196 100755
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -286,18 +286,6 @@ void LLVOCacheEntry::removeAllChildren()
 	mChildrenList.clear();
 }
 
-LLDataPackerBinaryBuffer *LLVOCacheEntry::getDP(U32 crc)
-{
-	if (  (mCRC != crc)
-		||(mDP.getBufferSize() == 0))
-	{
-		//LL_INFOS() << "Not getting cache entry, invalid!" << LL_ENDL;
-		return NULL;
-	}
-	mHitCount++;
-	return &mDP;
-}
-
 LLDataPackerBinaryBuffer *LLVOCacheEntry::getDP()
 {
 	if (mDP.getBufferSize() == 0)
diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h
index 4eca08344519d2e050e8b69acdc6992f2bb9d6b0..a385610a10c4cc92c983e6543ea34350a740ef20 100755
--- a/indra/newview/llvocache.h
+++ b/indra/newview/llvocache.h
@@ -97,7 +97,6 @@ class LLVOCacheEntry : public LLViewerOctreeEntryData
 
 	void dump() const;
 	BOOL writeToFile(LLAPRFile* apr_file) const;
-	LLDataPackerBinaryBuffer *getDP(U32 crc);
 	LLDataPackerBinaryBuffer *getDP();
 	void recordHit();
 	void recordDupe() { mDupeCount++; }