diff --git a/src/gl-renderer.c b/src/gl-renderer.c
index 89e9a4d..8da111e 100644
--- a/src/gl-renderer.c
+++ b/src/gl-renderer.c
@@ -58,6 +58,7 @@
 
 	GLuint textures[3];
 	int num_textures;
+	pixman_region32_t texture_damage;
 
 	EGLImageKHR images[3];
 	GLenum target;
@@ -1050,8 +1051,8 @@
 	int i, n;
 #endif
 
-	pixman_region32_union(&surface->texture_damage,
-			      &surface->texture_damage, &surface->damage);
+	pixman_region32_union(&gs->texture_damage,
+			      &gs->texture_damage, &surface->damage);
 
 	if (!buffer)
 		return;
@@ -1064,7 +1065,7 @@
 	if (surface->plane != &surface->compositor->primary_plane)
 		return;
 
-	if (!pixman_region32_not_empty(&surface->texture_damage))
+	if (!pixman_region32_not_empty(&gs->texture_damage))
 		goto done;
 
 	glBindTexture(GL_TEXTURE_2D, gs->textures[0]);
@@ -1082,7 +1083,7 @@
 	/* Mesa does not define GL_EXT_unpack_subimage */
 	glPixelStorei(GL_UNPACK_ROW_LENGTH, gs->pitch);
 	data = wl_shm_buffer_get_data(buffer);
-	rectangles = pixman_region32_rectangles(&surface->texture_damage, &n);
+	rectangles = pixman_region32_rectangles(&gs->texture_damage, &n);
 	for (i = 0; i < n; i++) {
 		pixman_box32_t r;
 
@@ -1097,8 +1098,8 @@
 #endif
 
 done:
-	pixman_region32_fini(&surface->texture_damage);
-	pixman_region32_init(&surface->texture_damage);
+	pixman_region32_fini(&gs->texture_damage);
+	pixman_region32_init(&gs->texture_damage);
 
 	weston_buffer_reference(&gs->buffer_ref, NULL);
 }
@@ -1248,6 +1249,7 @@
 	 */
 	gs->pitch = 1;
 
+	pixman_region32_init(&gs->texture_damage);
 	surface->renderer_state = gs;
 
 	return 0;
@@ -1266,6 +1268,7 @@
 		gr->destroy_image(gr->egl_display, gs->images[i]);
 
 	weston_buffer_reference(&gs->buffer_ref, NULL);
+	pixman_region32_fini(&gs->texture_damage);
 	free(gs);
 }
 
