diff --git a/json_serializer.hpp b/json_serializer.hpp
index 81a6a4d..8882cc5 100644
--- a/json_serializer.hpp
+++ b/json_serializer.hpp
@@ -105,19 +105,35 @@
             return false;
         }
     }
-    void load()
+    bool load()
     {
         std::ifstream file(mfaConfPath.data());
 
         if (file.is_open())
         {
-            file >> jsonData;
-            file.close();
+            try
+            {
+                file >> jsonData;
+                file.close();
+                return true;
+            }
+            catch (const nlohmann::json::parse_error& e)
+            {
+                lg2::error("JSON parsing error: {MSG} in file {FILENAME}",
+                           "MSG", e.what(), "FILENAME", mfaConfPath);
+                if (std::filesystem::exists(mfaConfPath))
+                {
+                    std::filesystem::remove(mfaConfPath);
+                }
+                file.close();
+                return false;
+            }
         }
         else
         {
             lg2::error("Unable to open file for reading {FILENAME}", "FILENAME",
                        mfaConfPath);
+            return false;
         }
     }
 
