diff --git a/halimpl/pn54x/hal/phNxpNciHal_ext.c b/halimpl/pn54x/hal/phNxpNciHal_ext.c
index 2e28efb..8957e44 100644
--- a/halimpl/pn54x/hal/phNxpNciHal_ext.c
+++ b/halimpl/pn54x/hal/phNxpNciHal_ext.c
@@ -924,6 +924,37 @@
 //            NXPLOG_NCIHAL_D("> Going - core init optimization - END");
         }
     }
+
+#if(NFC_NXP_CHIP_TYPE == PN548C2)
+    if (p_cmd_data[0] == 0x20 && p_cmd_data[1] == 0x02)
+    {
+        uint8_t temp;
+        uint8_t *p = p_cmd_data + 4;
+        uint8_t *end = p_cmd_data + *cmd_len;
+        while (p < end)
+        {
+            if (*p == 0x53) //LF_T3T_FLAGS
+            {
+                NXPLOG_NCIHAL_D ("> Going through workaround - LF_T3T_FLAGS swap");
+                temp = *(p + 3);
+                *(p + 3) = *(p + 2);
+                *(p + 2) = temp;
+                NXPLOG_NCIHAL_D ("> Going through workaround - LF_T3T_FLAGS - End");
+                status = NFCSTATUS_SUCCESS;
+                break;
+            }
+            if (*p == 0xA0)
+            {
+                p += *(p + 2) + 3;
+            }
+            else
+            {
+                p += *(p + 1) + 2;
+            }
+        }
+    }
+#endif
+
     return status;
 }
 
