Messed up UVs on Android

All of my quads appear correctly textured on the Unity3D editor, a Motorola Xoom Android tablet, and on an iPad 2:

enter image description here

But on our Samsung Galaxy Mini 2 smartphone they look like this:

enter image description here

I wrote a debug shader that outputs the texture coordinates U and V to the R and G channels respectively, and results were consistent:

enter image description here

What could be causing this difference between devices?

Found the problem. Apparently I needed to assign a vertex color to each vertex of the quad, even when the shader was not using that information. In other words:

var colors = new[] {
    Color.white,
    Color.white,
    Color.white,
    Color.white
};
mesh.colors = colors;

Assigning these colors solved the UV problem, although I’m not sure why it did.