Problem with rendering a texture

I am trying to render a simple test case, including two triangles (using GL_TRIANGLES).
I have 6 vertices and 6 indices.
All the code is very simplistic. The vertex shader copies the texCoord to a smooth output and the fragment shader simply reads the texture.
Both filters are GL_LINEAR and the wrap is set to GL_REPEAT.
For some reason, only one triangle is rendered correctly, while the other results in a strange pattern.

Any idea on what could be causing something like this?

This is my texture:

and this is the result: