diff --git a/include/vlc_vout.h b/include/vlc_vout.h
index adfc15a0f0d2799da8bba4c1977f1bff87e913fe..2903dda346c5fcabe8a7fbb1431da0f1ef61e196 100644
--- a/include/vlc_vout.h
+++ b/include/vlc_vout.h
@@ -44,11 +44,6 @@
  * Video output thread interface
  */
 
-/**
- * Video output thread private structure
- */
-typedef struct vout_thread_sys_t vout_thread_sys_t;
-
 /**
  * Video output thread descriptor
  *
@@ -60,7 +55,7 @@ struct vout_thread_t {
     struct vlc_object_t obj;
 
     /* Private vout_thread data */
-    vout_thread_sys_t *p;
+    void *p;
 };
 
 /* Alignment flags */
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 4d8e7068952e6c287f90a8943793a03e23135648..f72f59df266de5637e1f4ed8cf7927c63597993b 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1889,7 +1889,7 @@ static vout_thread_t *vout_CreateCommon(vlc_object_t *object)
 {
     /* Allocate descriptor */
     vout_thread_t *vout = vlc_custom_create(object,
-                                            sizeof(*vout) + sizeof(*vout->p),
+                                            sizeof(*vout) + sizeof(vout_thread_sys_t),
                                             "video output");
     if (!vout)
         return NULL;
diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h
index 1ce5550db6f270d839ea6c7eec280ef2e3b131b6..106c48ca0d0236ad7d21bf82530638b23e0c410a 100644
--- a/src/video_output/vout_internal.h
+++ b/src/video_output/vout_internal.h
@@ -60,7 +60,10 @@ enum vout_crop_mode {
     VOUT_CROP_NONE, VOUT_CROP_RATIO, VOUT_CROP_WINDOW, VOUT_CROP_BORDER,
 };
 
-/* */
+/**
+ * Video output thread private structure
+ */
+typedef struct vout_thread_sys_t vout_thread_sys_t;
 struct vout_thread_sys_t
 {
     bool dummy;