diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index 45c5f2d..b56c788 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -121,6 +121,8 @@
         GrGLProgram::Desc pdesc;
         GrEffectStage stages[GrDrawState::kNumStages];
 
+        int currAttribIndex = GrDrawState::kAttribIndexCount;
+        int attribIndices[2];
         for (int s = 0; s < maxStages; ++s) {
             // enable the stage?
             if (random.nextBool()) {
@@ -129,7 +131,10 @@
                                                                                 &random,
                                                                                 this->getContext(),
                                                                                 dummyTextures));
-                stages[s].setEffect(effect.get());
+                for (int i = 0; i < effect.get()->get()->numVertexAttribs(); ++i) {
+                    attribIndices[i] = currAttribIndex++;
+                }
+                stages[s].setEffect(effect.get(), attribIndices);
             }
         }
         pdesc.setRandom(&random, this, stages);
