         }
     #endif
 
-    #pragma tangram: color
+    #ifdef TANGRAM_MULTI_SAMPLER
+    // Don't apply shader blocks to text attached to point (N.B.: for compatibility with ES)
+    if (!is_label) {
+    #endif
+        #pragma tangram: color
+        #pragma tangram: filter
+    #ifdef TANGRAM_MULTI_SAMPLER
+    }
+    #endif
 
     color.a *= v_alpha_factor;
 
-    #pragma tangram: filter
-
     gl_FragColor = color;
 }

    #ifdef TANGRAM_MULTI_SAMPLER
    }
    else { // label sampler
        color = texture2D(u_label_texture, v_texcoord);
        color.rgb /= max(color.a, 0.001); // un-multiply canvas texture
    }

    vec4 color = v_color;

    #ifdef TANGRAM_MULTI_SAMPLER
    bool is_label = false;
    if (v_sampler == 0.) { // sprite sampler
    #endif
        #ifdef TANGRAM_TEXTURE_POINT
