diff --git a/src/activation.cpp b/src/activation.cpp
index 13b42cc..8ea4f25 100644
--- a/src/activation.cpp
+++ b/src/activation.cpp
@@ -24,7 +24,6 @@
 namespace softwareServer = sdbusplus::xyz::openbmc_project::Software::server;
 
 using namespace phosphor::logging;
-using sdbusplus::exception::SdBusError;
 using SoftwareActivation = softwareServer::Activation;
 
 auto Activation::activation(Activations value) -> Activations
@@ -96,7 +95,7 @@
         bus.call_noreply(method);
         return true;
     }
-    catch (const SdBusError& e)
+    catch (const sdbusplus::exception::exception& e)
     {
         log<level::ERR>("Error staring service", entry("ERROR=%s", e.what()));
         onUpdateFailed();
@@ -265,7 +264,7 @@
     {
         bus.call(method);
     }
-    catch (const SdBusError& e)
+    catch (const sdbusplus::exception::exception& e)
     {
         log<level::ERR>("Error performing call to Delete object path",
                         entry("ERROR=%s", e.what()),
diff --git a/src/utils.cpp b/src/utils.cpp
index 949a1e1..5889b6b 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -113,7 +113,7 @@
         }
         return ret;
     }
-    catch (const sdbusplus::exception::SdBusError& ex)
+    catch (const sdbusplus::exception::exception& ex)
     {
         log<level::ERR>("GetObject call failed", entry("PATH=%s", path),
                         entry("INTERFACE=%s", interface));
@@ -192,7 +192,7 @@
         reply.read(value);
         return any(value);
     }
-    catch (const sdbusplus::exception::SdBusError& ex)
+    catch (const sdbusplus::exception::exception& ex)
     {
         log<level::ERR>("GetProperty call failed", entry("PATH=%s", path),
                         entry("INTERFACE=%s", interface),
