diff --git a/ipmid.cpp b/ipmid.cpp
index c48df3b..3d7c663 100644
--- a/ipmid.cpp
+++ b/ipmid.cpp
@@ -239,10 +239,23 @@
     // make sense.
     char *respo = &((char *)response)[IPMI_CC_LEN];
 
-    // Response message from the plugin goes into a byte post the base response
-    rc = (handler_and_context.first) (netfn, cmd, request, respo,
-                                      data_len, handler_and_context.second);
-
+    try
+    {
+        // Response message from the plugin goes into a byte post the base
+        // response
+        rc = (handler_and_context.first) (netfn, cmd, request, respo,
+                                          data_len, handler_and_context.second);
+    }
+    // IPMI command handlers can throw unhandled exceptions, catch those
+    // and return sane error code.
+    catch (const std::exception &e)
+    {
+        log<level::ERR>(e.what(), entry("NET_FUN=0x%X", netfn),
+                        entry("CMD=0x%X", cmd));
+        rc = IPMI_CC_UNSPECIFIED_ERROR;
+        *data_len = 0;
+        // fall through
+    }
     // Now copy the return code that we got from handler and pack it in first
     // byte.
     memcpy(response, &rc, IPMI_CC_LEN);
