diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index d574dec11d362e4849f3884c222d2df15bf72a24..449ac04ae2f39196180a9637e46bfb26d8d2f91c 100755
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -1594,8 +1594,14 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
 		}
 		else if (local_id == parcel_mgr.mAgentParcel->getLocalID())
 		{
-			// updated agent parcel
-			parcel_mgr.mAgentParcel->unpackMessage(msg);
+			// Parcels in different regions can have same ids.
+			LLViewerRegion* parcel_region = LLWorld::getInstance()->getRegion( msg->getSender() );
+			LLViewerRegion* agent_region = gAgent.getRegion();
+			if (parcel_region && agent_region && parcel_region->getRegionID() == agent_region->getRegionID())
+			{
+				// updated agent parcel
+				parcel_mgr.mAgentParcel->unpackMessage(msg);
+			}
 		}
 	}