diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c
index ed87bc05f89ae52f100881aa742d70b2789ae60a..125832e37395fd678ad87fc4ab2cbcbf85d95b79 100644
--- a/openair2/NETWORK_DRIVER/MESH/mesh.c
+++ b/openair2/NETWORK_DRIVER/MESH/mesh.c
@@ -885,9 +885,8 @@ int nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv)
       else {
         switch (cx->state) {
         case NAS_CX_RELEASING_FAILURE:
-          cx->retry=0;
-
         case NAS_CX_DCH:
+          if(cx->state==NAS_CX_RELEASING_FAILURE) cx->retry=0;
           nas_mesh_DC_decode_cx_loss_ind(cx,p);   // process message
           break;