diff --git a/modules/access/dvb/dvb.c b/modules/access/dvb/dvb.c
index 39d05e460f4dbe0456ddb8f4f66fe8e82b9f4cfb..defac0fd566787c7412303c208f8d7a85a8885be 100644
--- a/modules/access/dvb/dvb.c
+++ b/modules/access/dvb/dvb.c
@@ -387,7 +387,7 @@ static int ioctl_CheckFrontend( input_thread_t * p_input, fe_type_t type )
     int          fd_front = p_dvb->i_frontend;
     int          i_ret;
 
-    while( 1 )
+    while( !p_input->b_die )
     {
         int32_t value;
         fe_status_t status;