diff --git a/class/mw31/at_socket_mw31.c b/class/mw31/at_socket_mw31.c
index d51f43d8..e7886468 100644
--- a/class/mw31/at_socket_mw31.c
+++ b/class/mw31/at_socket_mw31.c
@@ -382,8 +382,12 @@ static void urc_recv_func(struct at_client *client, const char *data, rt_size_t
     sscanf(temp, "%d,", &device_socket);
     temp[0] = 0;
     temp[1] = 0;
-    for (i = 0; i < 6 && temp[i - 1] != ','; i++)
+    for (i = 0; i < 6; i++)
     {
+        if (i > 0 && temp[i - 1] == ',')
+        {
+            break;
+        }
         at_client_obj_recv(client, &temp[i], 1, 1000);
     }
     sscanf(temp, "%ld,", &bfsz);