diff --git a/src/mol-gl/shader/chunks/color-frag-params.glsl b/src/mol-gl/shader/chunks/color-frag-params.glsl
index caa12c98d9c2eea2a48767fcea185a419b761fe0..85052a17025d578608312aeae2d04d49519c1eee 100644
--- a/src/mol-gl/shader/chunks/color-frag-params.glsl
+++ b/src/mol-gl/shader/chunks/color-frag-params.glsl
@@ -1,5 +1,11 @@
 #if defined(dColorType_uniform)
     uniform vec3 uColor;
-#elif defined(dColorType_attribute) || defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance) || defined(dColorType_objectPicking) || defined(dColorType_instancePicking) || defined(dColorType_groupPicking)
+#elif defined(dColorType_attribute) || defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance)
     varying vec4 vColor;
+#elif defined(dColorType_objectPicking) || defined(dColorType_instancePicking) || defined(dColorType_groupPicking)
+    #if __VERSION__ != 300
+        varying vec4 vColor;
+    #else
+        flat in vec4 vColor;
+    #endif
 #endif
\ No newline at end of file
diff --git a/src/mol-gl/shader/chunks/color-vert-params.glsl b/src/mol-gl/shader/chunks/color-vert-params.glsl
index abc149ebdcf64187d4989f048a7b3651639846e7..d2219d9b6019165b6bafbfde21226b614244c1ba 100644
--- a/src/mol-gl/shader/chunks/color-vert-params.glsl
+++ b/src/mol-gl/shader/chunks/color-vert-params.glsl
@@ -8,6 +8,10 @@
     uniform vec2 uColorTexDim;
     uniform sampler2D tColor;
 #elif defined(dColorType_objectPicking) || defined(dColorType_instancePicking) || defined(dColorType_groupPicking)
-    varying vec4 vColor;
+    #if __VERSION__ != 300
+        varying vec4 vColor;
+    #else
+        flat out vec4 vColor;
+    #endif
     #pragma glslify: encodeFloatRGB = require(../utils/encode-float-rgb.glsl)
 #endif
\ No newline at end of file