diff --git a/modules/demux/pva.c b/modules/demux/pva.c
index 978893aab00697a7eea071ffb6a53725b6029857..ec47f0c64ba4c64450877089c1bf8552a9ede263 100644
--- a/modules/demux/pva.c
+++ b/modules/demux/pva.c
@@ -274,7 +274,8 @@ static int Demux( demux_t *p_demux )
 
         default:
             msg_Warn( p_demux, "unknown id=0x%x", p_peek[2] );
-            vlc_stream_Read( p_demux->s, NULL, i_size + 8 );
+            if( vlc_stream_Read( p_demux->s, NULL, i_size + 8 ) < i_size + 8 )
+                return 0;
             break;
     }
     return 1;