diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index ee89680fea62f4c10d35ce767ee974d6159f3fac..9027caa4ce8abd7a5d421d44ed8256287e556376 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -4928,6 +4928,11 @@ void LLViewerObject::setIncludeInSearch(bool include_in_search)
 
 void LLViewerObject::setRegion(LLViewerRegion *regionp)
 {
+	if (!regionp)
+	{
+		llwarns << "viewer object set region to NULL" << llendl;
+	}
+	
 	mLatestRecvPacketID = 0;
 	mRegionp = regionp;
 
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 752aeaaab01a157c7d58c6e3f40751d1fa3ca96a..fc94fbafac7c6ab2ad16e15205525d66b61371b1 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -894,10 +894,10 @@ void LLViewerObjectList::removeDrawable(LLDrawable* drawablep)
 
 BOOL LLViewerObjectList::killObject(LLViewerObject *objectp)
 {
-	// Don't ever kill gAgentAvatarp, just mark it as null region instead.
+	// Don't ever kill gAgentAvatarp, just force it to the agent's region
 	if (objectp == gAgentAvatarp)
 	{
-		objectp->setRegion(NULL);
+		objectp->setRegion(gAgent.getRegion());
 		return FALSE;
 	}