diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index cad4fbdd58fd7a9fb91f2095e786ccc761e0a869..a176ccf3cd4175089229b9f5d5acf4628a178298 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -1502,7 +1502,9 @@ fully_specified_type
 
         $$ = $2;
 
-        if (! $$.qualifier.isInterpolation() && parseContext.language == EShLangFragment)
+        if (! $$.qualifier.isInterpolation() && 
+            (parseContext.language == EShLangVertex   && $$.qualifier.storage == EvqVaryingOut ||
+             parseContext.language == EShLangFragment && $$.qualifier.storage == EvqVaryingIn))
             $$.qualifier.smooth = true;
     }
     ;