diff --git a/indra/llmath/v4coloru.h b/indra/llmath/v4coloru.h
index 31ae3e3c1a3b551ee3060cfdd90247a7a55f1f3e..704ce852d92717478fbff45fe5bc880779eb5607 100644
--- a/indra/llmath/v4coloru.h
+++ b/indra/llmath/v4coloru.h
@@ -563,19 +563,9 @@ void LLColor4U::setVecScaleClamp(const LLColor3& color)
 
 inline U32 LLColor4U::asRGBA() const
 {
-	U32 nRet( 0 );
-
 	// Little endian: values are swapped in memory. The original code access the array like a U32, so we need to swap here
 
-	nRet |= mV[ 3 ];
-	nRet <<= 8;
-	nRet |= mV[ 2 ];
-	nRet <<= 8;
-	nRet |= mV[ 1 ];
-	nRet <<= 8;
-	nRet |= mV[ 0 ];
-
-	return nRet;
+	return (mV[3] << 24) | (mV[2] << 16) | (mV[1] << 8) | mV[0];
 }
 
 inline void LLColor4U::fromRGBA( U32 aVal )