diff --git a/1.1/hal_st21nfc.cc b/1.1/hal_st21nfc.cc
index e97d0bf..927e9a1 100644
--- a/1.1/hal_st21nfc.cc
+++ b/1.1/hal_st21nfc.cc
@@ -43,7 +43,7 @@
   nfc_stack_callback_t* p_cback_unwrap;
 } st21nfc_dev_t;
 
-const char* halVersion = "ST21NFC HAL1.1 Version 3.1.14";
+const char* halVersion = "ST21NFC HAL1.1 Version 3.1.15";
 
 uint8_t cmd_set_nfc_mode_enable[] = {0x2f, 0x02, 0x02, 0x02, 0x01};
 uint8_t hal_is_closed = 1;
@@ -66,6 +66,7 @@
 extern int hal_wrapper_close(int call_cb, int nfc_mode);
 
 extern void hal_wrapper_send_config();
+extern void hal_wrapper_factoryReset();
 
 /* Make sure to always post nfc_stack_callback_t in a separate thread.
 This prevents a possible deadlock in upper layer on some sequences.
@@ -407,6 +408,7 @@
 
 void StNfc_hal_factoryReset() {
   STLOG_HAL_D("HAL st21nfc: %s", __func__);
+  hal_wrapper_factoryReset();
   // Nothing needed for factory reset in st21nfc case.
 }
 
diff --git a/1.2/hal_st21nfc.cc b/1.2/hal_st21nfc.cc
index 8ab2076..dfac627 100644
--- a/1.2/hal_st21nfc.cc
+++ b/1.2/hal_st21nfc.cc
@@ -43,7 +43,7 @@
   nfc_stack_callback_t* p_cback_unwrap;
 } st21nfc_dev_t;
 
-const char* halVersion = "ST21NFC HAL1.2 Version 3.2.3";
+const char* halVersion = "ST21NFC HAL1.2 Version 3.2.4";
 
 uint8_t cmd_set_nfc_mode_enable[] = {0x2f, 0x02, 0x02, 0x02, 0x01};
 uint8_t hal_is_closed = 1;
@@ -67,6 +67,7 @@
 extern int hal_wrapper_close(int call_cb, int nfc_mode);
 
 extern void hal_wrapper_send_config();
+extern void hal_wrapper_factoryReset();
 
 /* Make sure to always post nfc_stack_callback_t in a separate thread.
 This prevents a possible deadlock in upper layer on some sequences.
@@ -408,6 +409,7 @@
 
 void StNfc_hal_factoryReset() {
   STLOG_HAL_D("HAL st21nfc: %s", __func__);
+  hal_wrapper_factoryReset();
   // Nothing needed for factory reset in st21nfc case.
 }
 
diff --git a/st21nfc/hal_wrapper.cc b/st21nfc/hal_wrapper.cc
index 0fbdf8d..7558521 100644
--- a/st21nfc/hal_wrapper.cc
+++ b/st21nfc/hal_wrapper.cc
@@ -66,7 +66,7 @@
 bool mReadFwConfigDone = false;
 
 bool mHciCreditLent = false;
-
+bool mfactoryReset = false;
 bool ready_flag = 0;
 
 void wait_ready() {
@@ -179,6 +179,10 @@
   hal_wrapper_send_vs_config();
 }
 
+void hal_wrapper_factoryReset() {
+  mfactoryReset = true;
+  STLOG_HAL_V("%s - mfactoryReset = %d", __func__, mfactoryReset);
+}
 void halWrapperDataCallback(uint16_t data_len, uint8_t* p_data) {
   uint8_t propNfcModeSetCmdOn[] = {0x2f, 0x02, 0x02, 0x02, 0x01};
   uint8_t coreInitCmd[] = {0x20, 0x01, 0x02, 0x00, 0x00};
@@ -195,10 +199,20 @@
 
       if ((p_data[0] == 0x60) && (p_data[1] == 0x00)) {
         mFwUpdateTaskMask = ft_cmd_HwReset(p_data, &mClfMode);
+
+        if (mfactoryReset == true) {
+          STLOG_HAL_V(
+              "%s - first boot after factory reset detected - start FW update",
+              __func__);
+          if ((mFwUpdateResMask & FW_PATCH_AVAILABLE) &&
+              (mFwUpdateResMask & FW_CUSTOM_PARAM_AVAILABLE)) {
+            mFwUpdateTaskMask = FW_UPDATE_NEEDED | CONF_UPDATE_NEEDED;
+            mfactoryReset = false;
+          }
+        }
         STLOG_HAL_V(
             "%s - mFwUpdateTaskMask = %d,  mClfMode = %d,  mRetryFwDwl = %d",
             __func__, mFwUpdateTaskMask, mClfMode, mRetryFwDwl);
-
         // CLF in MODE LOADER & Update needed.
         if (mClfMode == FT_CLF_MODE_LOADER) {
           HalSendDownstreamStopTimer(mHalHandle);
