diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index 1cc81fa8632f91785e9bda2c7abc4a7755f5999e..237579cec578306d62321548b2940c232b2b9442 100755
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -545,10 +545,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask)
 
 					emissive_shader->bind();
 					
-					U32 final_mask = params.mFullbright ? (mask | LLVertexBuffer::MAP_EMISSIVE)
-																	: ((mask & ~LLVertexBuffer::MAP_COLOR) | LLVertexBuffer::MAP_EMISSIVE);
-
-					params.mVertexBuffer->setBuffer(final_mask);
+					params.mVertexBuffer->setBuffer((mask & ~LLVertexBuffer::MAP_COLOR) | LLVertexBuffer::MAP_EMISSIVE);
 					
 					// do the actual drawing, again
 					params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 406591046fa6d5514d11d2486559fe8c79665170..3eb5b19de5902746994b5c30443412af603d54a7 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4881,7 +4881,10 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
 	if (emissive)
 	{ //emissive faces are present, include emissive byte to preserve batching
 		simple_mask = simple_mask | LLVertexBuffer::MAP_EMISSIVE;
-		alpha_mask = alpha_mask | LLVertexBuffer::MAP_EMISSIVE;
+		
+		// doing this seems to cause NORSPEC-304
+		//alpha_mask = alpha_mask | LLVertexBuffer::MAP_EMISSIVE;
+
 		bump_mask = bump_mask | LLVertexBuffer::MAP_EMISSIVE;
 		fullbright_mask = fullbright_mask | LLVertexBuffer::MAP_EMISSIVE;
 		norm_mask = norm_mask | LLVertexBuffer::MAP_EMISSIVE;