Index: modules/codec/telx.c
===================================================================
--- modules/codec/telx.c	(revision 18615)
+++ modules/codec/telx.c	(working copy)
@@ -33,7 +33,7 @@
 #include "vlc_bits.h"
 #include "vlc_codec.h"
 
-/* #define TELX_DEBUG */
+#define TELX_DEBUG
 #ifdef TELX_DEBUG
 #   define dbg( a ) msg_Dbg a 
 #else
@@ -49,7 +49,9 @@
 
 #define OVERRIDE_PAGE_TEXT N_("Override page")
 #define OVERRIDE_PAGE_LONGTEXT N_("Override the indicated page, try this if " \
-        "your subtitles don't appear (0 = autodetect, usually 888 or 889).")
+        "your subtitles don't appear (-1 = autodetect method 1, 0 autodetect " \
+        "method 2, other values are actual teletext page numbers, "\
+        "usually 888 or 889).")
 
 #define IGNORE_SUB_FLAG_TEXT N_("Ignore subtitle flag")
 #define IGNORE_SUB_FLAG_LONGTEXT N_("Ignore the subtitle flag, try this if " \
@@ -182,7 +184,7 @@
     var_Create( p_dec, "telx-override-page",
                 VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
     var_Get( p_dec, "telx-override-page", &val );
-    if( val.i_int == -1 )
+    if( val.i_int == -1 && p_dec->fmt_in.subs.dvb.i_id )
     {
         p_sys->i_wanted_magazine = p_dec->fmt_in.subs.dvb.i_id >> 16;
         if( p_sys->i_wanted_magazine == 0 )
@@ -284,7 +286,7 @@
 
 // utc-2 --> utf-8
 // this is not a general function, but it's enough for what we do here
-// the result buffer need to be at least 4 bytes long
+// the result buffer needs to be at least 4 bytes long
 static void to_utf8( char * res, uint16_t ch )
 {
     if( ch >= 0x80 )
