diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index 0ed3d7ac55c7552f0eb195692ee164adfe60766c..03005b43406169aa4c332530f338a24a65fd976b 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -440,6 +440,9 @@ static int SubpictureValidate( subpicture_t *p_subpic,
     if( b_fmt_src || b_fmt_dst )
     {
         ass_set_frame_size( p_sys->p_renderer, fmt.i_visible_width, fmt.i_visible_height );
+#if LIBASS_VERSION > 0x01010000
+        ass_set_storage_size( p_sys->p_renderer, p_fmt_src->i_visible_width, p_fmt_src->i_visible_height );
+#endif
         const double src_ratio = (double)p_fmt_src->i_visible_width / p_fmt_src->i_visible_height;
         const double dst_ratio = (double)p_fmt_dst->i_visible_width / p_fmt_dst->i_visible_height;
         ass_set_aspect_ratio( p_sys->p_renderer, dst_ratio / src_ratio, 1 );