diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
index 414ae0d..0e75b80 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/GLTextureViewActivity.java
@@ -210,28 +210,31 @@
             glEnableVertexAttribArray(attribTexCoords);
             checkGlError();
 
-            glUniform1i(uniformTexture, texture);
+            glUniform1i(uniformTexture, 0);
+            checkGlError();
+
+            // drawQuad
+            triangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET);
+            glVertexAttribPointer(attribPosition, 3, GL_FLOAT, false,
+                    TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices);
+            checkGlError();
+
+            triangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET);
+            glVertexAttribPointer(attribTexCoords, 3, GL_FLOAT, false,
+                    TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices);
+            checkGlError();
+
+            glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
             checkGlError();
             
             while (!mFinished) {
                 checkCurrent();
 
-                glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-                checkGlError();
-
                 glClear(GL_COLOR_BUFFER_BIT);
                 checkGlError();
 
-                // drawQuad
-                triangleVertices.position(TRIANGLE_VERTICES_DATA_POS_OFFSET);
-                glVertexAttribPointer(attribPosition, 3, GL_FLOAT, false,
-                        TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices);
-
-                triangleVertices.position(TRIANGLE_VERTICES_DATA_UV_OFFSET);
-                glVertexAttribPointer(attribTexCoords, 3, GL_FLOAT, false,
-                        TRIANGLE_VERTICES_DATA_STRIDE_BYTES, triangleVertices);
-
                 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+                checkGlError();
 
                 if (!mEgl.eglSwapBuffers(mEglDisplay, mEglSurface)) {
                     throw new RuntimeException("Cannot swap buffers");
