diff --git a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp
index 3b03b41..c380319 100644
--- a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp
+++ b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp
@@ -48,7 +48,14 @@
 
 void chip::NXP::App::ButtonApp::HandleLongPress()
 {
-    chip::DeviceLayer::PlatformMgrImpl().CleanReset();
+    // Execute "clean" reset
+    chip::DeviceLayer::PlatformMgr().ScheduleWork(
+        [](intptr_t arg) {
+            chip::DeviceLayer::PlatformMgr().StopEventLoopTask();
+            chip::DeviceLayer::PlatformMgr().Shutdown();
+            chip::DeviceLayer::PlatformMgrImpl().Reset();
+        },
+        (intptr_t) nullptr);
 }
 
 void chip::NXP::App::ButtonApp::HandleDoubleClick()
diff --git a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp
index 3c1e39b..e0ec11a 100644
--- a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp
+++ b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.cpp
@@ -48,7 +48,6 @@
 
 #include <mbedtls/platform.h>
 
-extern "C" void HAL_ResetMCU(void);
 extern "C" void freertos_mbedtls_mutex_init(void);
 
 extern uint8_t __data_end__[], m_data0_end[];
@@ -93,14 +92,16 @@
     return CHIP_NO_ERROR;
 }
 
-void PlatformManagerImpl::CleanReset()
+void PlatformManagerImpl::Reset()
 {
-    StopEventLoopTask();
-    Shutdown();
 #if (CHIP_PLAT_NVM_SUPPORT == 1)
     NvCompletePendingOperations();
 #endif
-    HAL_ResetMCU();
+    // Restart the system.
+    NVIC_SystemReset();
+    while (1)
+    {
+    }
 }
 
 void PlatformManagerImpl::ScheduleResetInIdle(void)
@@ -200,6 +201,10 @@
         ChipLogError(DeviceLayer, "Failed to get current uptime since the Node’s last reboot");
     }
 
+    /* Handle the server shutting down & emit the ShutDown event */
+    /* Make sure to call this function from Matter Task */
+    PlatformMgr().HandleServerShuttingDown();
+    /* Shutdown all layers */
     Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_Shutdown();
 }
 
diff --git a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h
index 5887908..935efaa 100644
--- a/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h
+++ b/src/platform/nxp/mcxw71_k32w1/PlatformManagerImpl.h
@@ -51,7 +51,7 @@
     System::Clock::Timestamp GetStartTime() { return mStartTime; }
     void HardwareInit(void);
     CHIP_ERROR ServiceInit(void);
-    void CleanReset();
+    void Reset();
     void StopBLEConnectivity() {}
     void ScheduleResetInIdle(void);
     bool GetResetInIdleValue(void);
