diff --git a/src/nfc/tags/rw_t3t.c b/src/nfc/tags/rw_t3t.c
index 429cc68..1e5da86 100644
--- a/src/nfc/tags/rw_t3t.c
+++ b/src/nfc/tags/rw_t3t.c
@@ -1679,8 +1679,15 @@
             {
                 RW_TRACE_DEBUG1 ("FeliCa Lite tag detected (system code %04X)", sc);
                 /* Store system code */
-                p_cb->system_codes[p_cb->num_system_codes++] = sc;
-
+                if (p_cb->num_system_codes < T3T_MAX_SYSTEM_CODES)
+                {
+                    p_cb->system_codes[p_cb->num_system_codes++] = sc;
+                }
+                else
+                {
+                    RW_TRACE_ERROR0 ("Exceed T3T_MAX_SYSTEM_CODES!");
+                    android_errorWriteLog(0x534e4554, "120499324");
+                }
                 /* Poll for NDEF system code */
                 if ((status = (tNFC_STATUS) nci_snd_t3t_polling (T3T_SYSTEM_CODE_NDEF, 0, 0)) == NCI_STATUS_OK)
                 {
@@ -1726,7 +1733,15 @@
         if ((nci_status == NCI_STATUS_OK) && (num_responses > 0))
         {
             /* Tag responded for NDEF poll */
-            p_cb->system_codes[p_cb->num_system_codes++] = T3T_SYSTEM_CODE_NDEF;
+            if (p_cb->num_system_codes < T3T_MAX_SYSTEM_CODES)
+            {
+                p_cb->system_codes[p_cb->num_system_codes++] = T3T_SYSTEM_CODE_NDEF;
+            }
+            else
+            {
+                RW_TRACE_ERROR0 ("Exceed T3T_MAX_SYSTEM_CODES!");
+                android_errorWriteLog(0x534e4554, "120499324");
+            }
         }
         rw_t3t_handle_get_system_codes_cplt ();
     }
@@ -1834,7 +1849,15 @@
         for (i = 0; i < num_sc; i++)
         {
             BE_STREAM_TO_UINT16 (sc, p);
-            p_cb->system_codes[p_cb->num_system_codes++] = sc;
+            if (p_cb->num_system_codes < T3T_MAX_SYSTEM_CODES)
+            {
+                p_cb->system_codes[p_cb->num_system_codes++] = sc;
+            }
+            else
+            {
+                RW_TRACE_ERROR0 ("Exceed T3T_MAX_SYSTEM_CODES!");
+                android_errorWriteLog(0x534e4554, "120499324");
+            }
         }
     }
     rw_t3t_handle_get_system_codes_cplt ();
