diff --git a/Test/150.geom b/Test/150.geom
index 8f13a60c25d06ee9f6f9b21c4c263387f30eeb38..f76c6504dc58df756d0fa5bfaebc0b128503a28e 100644
--- a/Test/150.geom
+++ b/Test/150.geom
@@ -103,3 +103,23 @@ out sameName {
 uniform sameName {
     bool b15;
 };
+
+float summ = gl_MaxVertexAttribs +
+             gl_MaxVertexUniformComponents +
+             gl_MaxVaryingFloats +
+             gl_MaxVaryingComponents +
+             gl_MaxVertexOutputComponents  +
+             gl_MaxGeometryInputComponents  +
+             gl_MaxGeometryOutputComponents  +
+             gl_MaxFragmentInputComponents  +
+             gl_MaxVertexTextureImageUnits +
+             gl_MaxCombinedTextureImageUnits +
+             gl_MaxTextureImageUnits +
+             gl_MaxFragmentUniformComponents +
+             gl_MaxDrawBuffers +
+             gl_MaxClipDistances  +
+             gl_MaxGeometryTextureImageUnits +
+             gl_MaxGeometryOutputVertices +
+             gl_MaxGeometryTotalOutputComponents  +
+             gl_MaxGeometryUniformComponents  +
+             gl_MaxGeometryVaryingComponents;
diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out
index 8d0445700f586f0dc340d5865d271a68a9a536d8..b2dc8914722627c4239ee2422a70a0e635c30dfa 100644
--- a/Test/baseResults/150.geom.out
+++ b/Test/baseResults/150.geom.out
@@ -124,6 +124,11 @@ ERROR: node is still EOpNull!
 0:69          1.000000
 0:69          1.000000
 0:69          1.000000
+0:107  Sequence
+0:107    move second child to first child (float)
+0:107      'summ' (float)
+0:107      Constant:
+0:107        11332.000000
 0:?   Linker Objects
 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})
 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
@@ -148,6 +153,7 @@ ERROR: node is still EOpNull!
 0:?     'insn' (in 4-element array of block{in int a15})
 0:?     'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
 0:?     'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:?     'summ' (float)
 
 
 Linked geometry stage:
@@ -243,6 +249,11 @@ ERROR: node is still EOpNull!
 0:69          1.000000
 0:69          1.000000
 0:69          1.000000
+0:107  Sequence
+0:107    move second child to first child (float)
+0:107      'summ' (float)
+0:107      Constant:
+0:107        11332.000000
 0:?   Linker Objects
 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})
 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
@@ -267,4 +278,5 @@ ERROR: node is still EOpNull!
 0:?     'insn' (in 4-element array of block{in int a15})
 0:?     'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
 0:?     'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:?     'summ' (float)
 
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index 57459ffce8642b98662477e5741a2112dd07ed3a..d45b8a5de7d84b5e0db28cf4743fd872c1139efb 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -2386,6 +2386,8 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf
             s.append(builtInConstant);
             snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputComponents = %d;", resources.maxGeometryOutputComponents);
             s.append(builtInConstant);
+            snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTextureImageUnits = %d;", resources.maxGeometryTextureImageUnits);
+            s.append(builtInConstant);
             snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryOutputVertices = %d;", resources.maxGeometryOutputVertices);
             s.append(builtInConstant);
             snprintf(builtInConstant, maxSize, "const int gl_MaxGeometryTotalOutputComponents = %d;", resources.maxGeometryTotalOutputComponents);