diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index afe111ec9..b6eb826d3 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -1532,7 +1532,7 @@ void OutputHLSL::visitConstantUnion(TIntermConstantUnion *node)
     
     const TType &type = node->getType();
 
-    if (type.isField())
+    if (type.isField() && type.getQualifier() != EvqConst)
     {
         out << type.getFieldName();
     }