diff --git a/indra/newview/llpanelpresetspulldown.cpp b/indra/newview/llpanelpresetspulldown.cpp
index 175f281ca4c8cef0e50521f472cb72304edff879..70f5fcd2c06778e2f682db1f0934e3ea75b012a6 100644
--- a/indra/newview/llpanelpresetspulldown.cpp
+++ b/indra/newview/llpanelpresetspulldown.cpp
@@ -89,14 +89,18 @@ void LLPanelPresetsPulldown::populatePanel()
 			row["columns"][0]["column"] = "preset_name";
 			row["columns"][0]["value"] = name;
 
+			bool is_selected_preset = false;
 			if (name == gSavedSettings.getString("PresetGraphicActive"))
 			{
 				row["columns"][1]["column"] = "icon";
 				row["columns"][1]["type"] = "icon";
 				row["columns"][1]["value"] = "Check_Mark";
+
+				is_selected_preset = true;
 			}
 
-			scroll->addElement(row);
+			LLScrollListItem* new_item = scroll->addElement(row);
+			new_item->setSelected(is_selected_preset);
 		}
 	}
 }
diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp
index 230bdca4ef4d5ac7ce0c168aeb6fba5230181f6a..ab510c1e95627e542f4d2bde5c5e259c1ebc2318 100755
--- a/indra/newview/llviewerpartsim.cpp
+++ b/indra/newview/llviewerpartsim.cpp
@@ -39,6 +39,7 @@
 #include "llworld.h"
 #include "pipeline.h"
 #include "llspatialpartition.h"
+#include "llvoavatarself.h"
 #include "llvovolume.h"
 
 const F32 PART_SIM_BOX_SIDE = 16.f;
@@ -703,16 +704,18 @@ void LLViewerPartSim::updateSimulation()
 		if (!mViewerPartSources[i]->isDead())
 		{
 			BOOL upd = TRUE;
-			if (!LLPipeline::sRenderAttachedParticles)
+			LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp;
+			if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
 			{
-				LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp;
-				if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
+				if(vobj->getAvatar() && vobj->getAvatar()->isTooComplex())
 				{
-					LLVOVolume* vvo = (LLVOVolume *)vobj;
-					if (vvo && vvo->isAttachment())
-					{
-						upd = FALSE;
-					}
+					upd = FALSE;
+				}
+
+				LLVOVolume* vvo = (LLVOVolume *)vobj;
+				if (!LLPipeline::sRenderAttachedParticles && vvo && vvo->isAttachment())
+				{
+					upd = FALSE;
 				}
 			}