diff --git a/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp b/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp
index baa074b35efdf03572771794bbe76aeaade5ae60..6dba4e1baaec663f61352c7b0656ba95f7a19637 100644
--- a/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp
+++ b/src/xercesc/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp
@@ -88,6 +88,7 @@
 #include    <xercesc/util/XMLString.hpp>
 #include    <xercesc/util/XMLUniDefs.hpp>
 #include    <xercesc/util/XMLUni.hpp>
+#include    <xercesc/util/PanicHandler.hpp>
 
 #if defined(XML_USE_ICU_TRANSCODER)
     #include <xercesc/util/Transcoders/ICU/ICUTransService.hpp>
@@ -288,7 +289,7 @@ XMLMsgLoader* XMLPlatformUtils::loadAMsgSet(const XMLCh* const msgDomain)
 
     catch(...)
     {
-        panic(XMLPlatformUtils::Panic_CantLoadMsgDomain);
+        panic(PanicHandler::Panic_CantLoadMsgDomain);
     }
     return retVal;
 }
@@ -318,27 +319,9 @@ XMLTransService* XMLPlatformUtils::makeTransService()
 // ---------------------------------------------------------------------------
 //  XMLPlatformUtils: The panic method
 // ---------------------------------------------------------------------------
-void XMLPlatformUtils::panic(const PanicReasons reason)
-{
-     const char* reasonStr = "Unknown reason";
-    if (reason == Panic_NoTransService)
-        reasonStr = "Could not load a transcoding service";
-    else if (reason == Panic_NoDefTranscoder)
-        reasonStr = "Could not load a local code page transcoder";
-    else if (reason == Panic_CantFindLib)
-        reasonStr = "Could not find the xerces-c DLL";
-    else if (reason == Panic_UnknownMsgDomain)
-        reasonStr = "Unknown message domain";
-    else if (reason == Panic_CantLoadMsgDomain)
-        reasonStr = "Cannot load message domain";
-    else if (reason == Panic_SynchronizationErr)
-        reasonStr = "Cannot synchronize system or mutex";
-    else if (reason == Panic_SystemInit)
-        reasonStr = "Cannot initialize the system or mutex";
-
-    fprintf(stderr, "%s\n", reasonStr);
-    
-    exit(-1);
+void XMLPlatformUtils::panic(const PanicHandler::PanicReasons reason)
+{
+    fgUserPanicHandler? fgUserPanicHandler->panic(reason) : fgDefaultPanicHandler->panic(reason);
 }