diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c
index c6a2b7574937dc3fc060b6a4e3f7b0deda5e2696..2ff28cbf34a5b2bc04b815b0ffb3c95b9b0ef85c 100644
--- a/modules/access/dvdnav.c
+++ b/modules/access/dvdnav.c
@@ -259,7 +259,7 @@ static int Open( vlc_object_t *p_this )
 
     var_Create( p_demux, "dvdnav-menu", VLC_VAR_BOOL|VLC_VAR_DOINHERIT );
     var_Get( p_demux, "dvdnav-menu", &val );
-    if( i_title == 0 || val.b_bool )
+    if( (i_title < 0 && val.b_bool) || i_title == 0 )
     {
         msg_Dbg( p_demux, "trying to go to dvd menu" );