diff --git a/src/opengl.c b/src/opengl.c
index e6e7c2fa..f859488b 100644
--- a/src/opengl.c
+++ b/src/opengl.c
@@ -892,7 +892,7 @@ glx_paint_pre(session_t *ps, region_t *preg) {
     // XXX use a circular queue instead of memmove
     pixman_region32_fini(&ps->all_damage_last[CGLX_MAX_BUFFER_AGE - 1]);
     memmove(ps->all_damage_last + 1, ps->all_damage_last,
-        (CGLX_MAX_BUFFER_AGE - 1) * sizeof(region_t *));
+        (CGLX_MAX_BUFFER_AGE - 1) * sizeof(region_t));
     ps->all_damage_last[0] = newdamage;
   }