diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out
index 1736bf0e3ffd280759909f3ed7867b2e36952579..28162b22a1e65ec491516b292597c0fc4f7c6106 100644
--- a/Test/baseResults/150.tesc.out
+++ b/Test/baseResults/150.tesc.out
@@ -910,8 +910,10 @@ ERROR: node is still EOpNull!
 
 Linked tessellation control stage:
 
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Contradictory layout vertices values
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
@@ -921,6 +923,7 @@ ERROR: Linking tessellation control stage: Types must match:
     gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
 ERROR: Linking tessellation control stage: Types must match:
     outa: "global 4-element array of int" versus "global 1-element array of int"
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
@@ -934,8 +937,10 @@ ERROR: Linking tessellation control stage: Types must match:
 
 Linked tessellation evaluation stage:
 
+ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
+ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
 ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
 ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
diff --git a/Test/baseResults/mains1.frag.out b/Test/baseResults/mains1.frag.out
index 0b5c2b784d36fce366e1947222b7db9e74ac9df4..426a1a8d5022e0317c05cf890030b771fca18253 100644
--- a/Test/baseResults/mains1.frag.out
+++ b/Test/baseResults/mains1.frag.out
@@ -48,6 +48,7 @@ ERROR: Linking geometry stage: At least one shader must specify a layout(max_ver
 
 Linked fragment stage:
 
+ERROR: Linking fragment stage: can't handle multiple entry points per stage
 ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
 
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 62856cc25720694d6be50fa3d77eb5ec86cefb5f..00779ecd9692db2c419e5fe87abb7f707d41b274 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -3,4 +3,4 @@
 // For the date, it uses the current date (when then script is run).
 
 #define GLSLANG_REVISION "Overload400-PrecQual.1686"
-#define GLSLANG_DATE "08-Dec-2016"
+#define GLSLANG_DATE "09-Dec-2016"
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 8e14bbbe82d1d456a4b8d8f68cdc7ea8c184d4ec..614a3b9061d3a3727fbc11b757d0e690082dddf3 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -82,7 +82,7 @@ void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit)
     if (source != unit.source)
         error(infoSink, "can't link compilation units from different source languages");
 
-    if (source == EShSourceHlsl && unit.getNumEntryPoints() > 0) {
+    if (unit.getNumEntryPoints() > 0) {
         if (getNumEntryPoints() > 0)
             error(infoSink, "can't handle multiple entry points per stage");
         else