diff --git a/.hgtags b/.hgtags
index 560ff80b26857e7ce6d002e492a06380ac2593fa..d4f5788c0fd9670d4ae15226d0c055fffc7e0321 100644
--- a/.hgtags
+++ b/.hgtags
@@ -339,5 +339,6 @@ f91d003091a61937a044652c4c674447f7dcbb7a 3.3.4-beta1
 eb539c65e6ee26eea2bf373af2d0f4b52dc91289 DRTVWR-177
 a8057e1b9a1246b434a27405be35e030f7d28b0c 3.3.4-beta3
 4281aa899fb2cedb7a9ca7ce91c5c29d4aa69594 DRTVWR-180
+9cd174d3a54d93d409a7c346a15b8bfb40fc58f4 DRTVWR-184
 5c08e1d8edd871807153603b690e3ee9dbb548aa DRTVWR-183
 6c75f220b103db1420919c8b635fe53e2177f318 3.3.4-beta4
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 7ccb6dc8dcccba518521e7e4c0e35cfe6a8223ec..5ea13ee0a6ba30849983c308acd19fe00ddcc1d3 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1883,6 +1883,9 @@ S32 LLVOVolume::setTEColor(const U8 te, const LLColor4& color)
 		if (color.mV[3] != old_alpha)
 		{
 			gPipeline.markTextured(mDrawable);
+			//treat this alpha change as an LoD update since render batches may need to get rebuilt
+			mLODChanged = TRUE;
+			gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, FALSE);
 		}
 		retval = LLPrimitive::setTEColor(te, color);
 		if (mDrawable.notNull() && retval)
@@ -1890,12 +1893,6 @@ S32 LLVOVolume::setTEColor(const U8 te, const LLColor4& color)
 			// These should only happen on updates which are not the initial update.
 			mDrawable->setState(LLDrawable::REBUILD_COLOR);
 			dirtyMesh();
-
-			if (old_alpha >= 1.f || color.mV[3] <= 0.f)
-			{ //treat this alpha change as an LoD update since render batches will need to get rebuilt
-				mLODChanged = TRUE;
-				gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, FALSE);
-			}
 		}
 	}