--- a/src/device/drv_dsl_cpe_device_danube.c
+++ b/src/device/drv_dsl_cpe_device_danube.c
@@ -4069,7 +4069,7 @@ static DSL_Error_t DSL_DRV_DANUBE_XTUSys
 
    DSL_CTX_WRITE(pContext, nErrCode, xtseCurr, xtseCurr);
 
-   for (nRetry = 0; nRetry < 20; nRetry++)
+   for (nRetry = 0; nRetry < 20 && bStatusUpdated == DSL_FALSE; nRetry++)
    {
       /* Get STAT1 info*/
       nErrCode = DSL_DRV_DANUBE_CmvRead(pContext, DSL_CMV_GROUP_STAT,
