diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c
index 0bce548bdd2..02871872f83 100644
--- a/cores/esp32/esp32-hal-misc.c
+++ b/cores/esp32/esp32-hal-misc.c
@@ -156,11 +156,13 @@ void enableCore0WDT() {
   }
 }
 
-void disableCore0WDT() {
+bool disableCore0WDT() {
   TaskHandle_t idle_0 = xTaskGetIdleTaskHandleForCore(0);
-  if (idle_0 == NULL || esp_task_wdt_delete(idle_0) != ESP_OK) {
+  if (idle_0 == NULL || esp_task_wdt_status(idle_0) || esp_task_wdt_delete(idle_0) != ESP_OK) {
     log_e("Failed to remove Core 0 IDLE task from WDT");
+    return false;
   }
+  return true;
 }
 
 #ifndef CONFIG_FREERTOS_UNICORE
@@ -171,11 +173,13 @@ void enableCore1WDT() {
   }
 }
 
-void disableCore1WDT() {
+bool disableCore1WDT() {
   TaskHandle_t idle_1 = xTaskGetIdleTaskHandleForCore(1);
-  if (idle_1 == NULL || esp_task_wdt_delete(idle_1) != ESP_OK) {
+  if (idle_1 == NULL || esp_task_wdt_status(idle_1) || esp_task_wdt_delete(idle_1) != ESP_OK) {
     log_e("Failed to remove Core 1 IDLE task from WDT");
+    return false;
   }
+  return true;
 }
 #endif
 
diff --git a/cores/esp32/esp32-hal.h b/cores/esp32/esp32-hal.h
index d0bd4b8bc93..5ed99aeb205 100644
--- a/cores/esp32/esp32-hal.h
+++ b/cores/esp32/esp32-hal.h
@@ -121,11 +121,11 @@ void feedLoopWDT();
 
 //enable/disable WDT for the IDLE task on Core 0 (SYSTEM)
 void enableCore0WDT();
-void disableCore0WDT();
+bool disableCore0WDT();
 #ifndef CONFIG_FREERTOS_UNICORE
 //enable/disable WDT for the IDLE task on Core 1 (Arduino)
 void enableCore1WDT();
-void disableCore1WDT();
+bool disableCore1WDT();
 #endif
 
 //if xCoreID < 0 or CPU is unicore, it will use xTaskCreate, else xTaskCreatePinnedToCore
diff --git a/libraries/LittleFS/src/LittleFS.cpp b/libraries/LittleFS/src/LittleFS.cpp
index e86caeb74cc..761d1ba4c24 100644
--- a/libraries/LittleFS/src/LittleFS.cpp
+++ b/libraries/LittleFS/src/LittleFS.cpp
@@ -95,9 +95,11 @@ void LittleFSFS::end() {
 }
 
 bool LittleFSFS::format() {
-  disableCore0WDT();
+  bool wdt_active = disableCore0WDT();
   esp_err_t err = esp_littlefs_format(partitionLabel_);
-  enableCore0WDT();
+  if (wdt_active) {
+    enableCore0WDT();
+  }
   if (err) {
     log_e("Formatting LittleFS failed! Error: %d", err);
     return false;