Procedural mesh triangle striping - advice?

Hey all,
I’m working with procedural mesh generation of spheres using heightmaps. So far so good. The full mesh is too large to render as a single mesh, so I need to split it up into sections. Though the debug mesh rendered correctly with a full set of all triangles and vertices, the sectioned mesh is creating a weird striping pattern in rings around the sphere. See image below for example. I don’t see anything explicitly wrong with my code, however there must be something up, as the code (when non-sectioned) was working fine. Here’s the code for my triangle indices:

int indicesIndex = 0;
	for (int y = 0; y < 4; ++y)
	{
		for (int x = 0; x < GRID_WIDTH; ++x)
		{
			int start = y * GRID_WIDTH + x;
			planetstuff.triangles.push_back((short)start);
			planetstuff.triangles.push_back((short)(start + 1));
			planetstuff.triangles.push_back((short)(start + GRID_WIDTH));
			planetstuff.triangles.push_back((short)(start + 1));
			planetstuff.triangles.push_back((short)(start + 1 + GRID_WIDTH));
			planetstuff.triangles.push_back((short)(start + GRID_WIDTH));
		}
	}

Grid width = the width of the heightmap.

And here’s the image:

My best guess is that my code is somehow skipping a triangle row (I divide the sphere into 4 ‘quad’ wide rings around the planet).

I’m at a loss for a better method by which to subdivide and index the surface. If you have any ideas, I’d greatly appreciate it!

Thanks!