diff --git a/.hgtags b/.hgtags
index f1ac7c569773dea4e22c67ba483dbeba1da8bf93..401da557bd6510124632b08c4bc8f37b51b777a1 100755
--- a/.hgtags
+++ b/.hgtags
@@ -341,3 +341,5 @@ fba99f381b8d4ad1b7b42fa4993b29998d95be18 DRTVWR-179
 f7cbd60a3f57ff1101157eeb79ea21e8898bedae DRTVWR-235
 baf97f06ae17223614c5e31aa42e71d87cff07fe DRTVWR-236
 18498afcdb835d6fc4d36ed935347d3b65307bad 3.4.1-beta11
+b2f21e3442542283a80e7eaebae9f833e5a927b6 DRTVWR-237
+3f9be82de642d468c5fc272cb9d96b46b5498402 3.4.1-beta12
diff --git a/BuildParams b/BuildParams
index 4ae0e6a1067b1f8745eae6a99a885f4cfae5dd2a..e63336cb194c178066f28dd6805deaf8ea6b8ea5 100644
--- a/BuildParams
+++ b/BuildParams
@@ -3,6 +3,7 @@
 # Please refer to:
 #  https://wiki.secondlife.com/wiki/Automated_Build_System
 
+
 # Global setting for now...
 Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
 CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index e399b45cba00d0b799cc03e09346e9bb7ec5e21c..3eeab0bf3eb19dbca3cfc7671638105b84a5c04f 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -1446,8 +1446,11 @@ void LLViewerObjectList::updateActive(LLViewerObject *objectp)
 		}
 	}
 
-	llassert(objectp->isActive() || objectp->getListIndex() == -1);
+	//post condition: if object is active, it must be on the active list
+	llassert(!active || std::find(mActiveObjects.begin(), mActiveObjects.end(), objectp) != mActiveObjects.end());
 
+	//post condition: if object is not active, it must not be on the active list
+	llassert(active || std::find(mActiveObjects.begin(), mActiveObjects.end(), objectp) == mActiveObjects.end());
 }
 
 void LLViewerObjectList::updateObjectCost(LLViewerObject* object)
diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h
index 9936432a71e288c7e3e73942725fbe24ea6e5486..449a4633ff28794f467da1fc91edbb0807a8269e 100644
--- a/indra/newview/llviewerobjectlist.h
+++ b/indra/newview/llviewerobjectlist.h
@@ -129,6 +129,7 @@ class LLViewerObjectList
 	LLViewerObject *getSelectedObject(const U32 object_id);
 
 	inline S32 getNumObjects() { return (S32) mObjects.size(); }
+	inline S32 getNumActiveObjects() { return (S32) mActiveObjects.size(); }
 
 	void addToMap(LLViewerObject *objectp);
 	void removeFromMap(LLViewerObject *objectp);
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 1798d554b9fb12d4d942bf3f3f9c8db63ed65dd0..c3af0f6a511f4152eec88a4210d0c9a1a05d2853 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -563,6 +563,9 @@ class LLDebugText
 			addText(xpos, ypos, llformat("%d Render Calls", gPipeline.mBatchCount));
             ypos += y_inc;
 
+			addText(xpos, ypos, llformat("%d/%d Objects Active", gObjectList.getNumActiveObjects(), gObjectList.getNumObjects()));
+			ypos += y_inc;
+
 			addText(xpos, ypos, llformat("%d Matrix Ops", gPipeline.mMatrixOpCount));
 			ypos += y_inc;