diff --git a/src/CPUSensor.cpp b/src/CPUSensor.cpp
index 06d0a69..87fa53f 100644
--- a/src/CPUSensor.cpp
+++ b/src/CPUSensor.cpp
@@ -46,8 +46,8 @@
     inputDev(io), waitTimer(io),
     nameTcontrol("Tcontrol CPU" + std::to_string(cpuId)), path(path),
     privTcontrol(std::numeric_limits<double>::quiet_NaN()),
-    dtsOffset(dtsOffset), show(show), pollTime(CPUSensor::sensorPollMs),
-    minMaxReadCounter(0)
+    dtsOffset(dtsOffset), show(show), pollTime(CPUSensor::sensorPollMs)
+
 {
     if (show)
     {
diff --git a/src/ChassisIntrusionSensor.cpp b/src/ChassisIntrusionSensor.cpp
index d480055..7b2a0a3 100644
--- a/src/ChassisIntrusionSensor.cpp
+++ b/src/ChassisIntrusionSensor.cpp
@@ -363,9 +363,7 @@
     boost::asio::io_service& io,
     std::shared_ptr<sdbusplus::asio::dbus_interface> iface) :
     mIface(std::move(iface)),
-    mType(IntrusionSensorType::gpio), mValue("unknown"), mOldValue("unknown"),
-    mBusId(-1), mSlaveAddr(-1), mPollTimer(io), mGpioInverted(false),
-    mGpioFd(io)
+    mValue("unknown"), mOldValue("unknown"), mPollTimer(io), mGpioFd(io)
 {}
 
 ChassisIntrusionSensor::~ChassisIntrusionSensor()
diff --git a/src/ExternalSensor.cpp b/src/ExternalSensor.cpp
index 5fba9b4..cc341f8 100644
--- a/src/ExternalSensor.cpp
+++ b/src/ExternalSensor.cpp
@@ -33,7 +33,7 @@
     writeTimeout(
         std::chrono::duration_cast<std::chrono::steady_clock::duration>(
             std::chrono::duration<double>(timeoutSecs))),
-    writeAlive(false), writePerishable(timeoutSecs > 0.0)
+    writePerishable(timeoutSecs > 0.0)
 {
     // The caller must specify what physical characteristic
     // an external sensor is expected to be measuring, such as temperature,
diff --git a/src/NVMeSensor.cpp b/src/NVMeSensor.cpp
index 213e320..fc7bc48 100644
--- a/src/NVMeSensor.cpp
+++ b/src/NVMeSensor.cpp
@@ -31,7 +31,7 @@
     Sensor(escapeName(sensorName), std::move(thresholdsIn), sensorConfiguration,
            NVMeSensor::configType, false, false, maxReading, minReading, conn,
            PowerState::on),
-    bus(busNumber), objServer(objectServer), scanDelay(0)
+    bus(busNumber), objServer(objectServer)
 {
     if (bus < 0)
     {
diff --git a/src/PSUEvent.cpp b/src/PSUEvent.cpp
index c2ed486..23f26cc 100644
--- a/src/PSUEvent.cpp
+++ b/src/PSUEvent.cpp
@@ -149,9 +149,9 @@
     std::enable_shared_from_this<PSUSubEvent>(),
     eventInterface(std::move(eventInterface)), asserts(std::move(asserts)),
     combineEvent(std::move(combineEvent)), assertState(std::move(state)),
-    errCount(0), path(path), eventName(eventName), readState(powerState),
-    waitTimer(io), inputDev(io), psuName(psuName),
-    groupEventName(groupEventName), systemBus(conn)
+    path(path), eventName(eventName), readState(powerState), waitTimer(io),
+    inputDev(io), psuName(psuName), groupEventName(groupEventName),
+    systemBus(conn)
 {
     if (pollRate > 0.0)
     {
