diff --git a/src/PSUSensorMain.cpp b/src/PSUSensorMain.cpp
index 1c76cef..2eb280f 100644
--- a/src/PSUSensorMain.cpp
+++ b/src/PSUSensorMain.cpp
@@ -287,7 +287,9 @@
 
             if ((*confBus != bus) || (*confAddr != addr))
             {
-                std::cerr << "Configuration mismatch of bus or addr\n";
+                std::cerr << "Configuration skipping " << *confBus << "-"
+                          << *confAddr << " because not " << bus << "-" << addr
+                          << "\n";
                 continue;
             }
 
@@ -369,7 +371,8 @@
             std::ifstream labelFile(labelPath);
             if (!labelFile.good())
             {
-                std::cerr << "Failure reading " << sensorPath << "\n";
+                std::cerr << "Input file " << sensorPath
+                          << " has no corresponding label file\n";
                 labelHead = sensorNameStr.substr(0, sensorNameStr.find("_"));
             }
             else
@@ -386,11 +389,6 @@
                 labelHead = label.substr(0, label.find(" "));
             }
 
-            if constexpr (DEBUG)
-            {
-                std::cerr << "Sensor label head " << labelHead << "\n";
-            }
-
             checkPWMSensor(sensorPath, labelHead, *interfacePath, objectServer,
                            psuNames[0]);
 
@@ -441,6 +439,12 @@
                 continue;
             }
 
+            if constexpr (DEBUG)
+            {
+                std::cerr << "Sensor label head " << labelHead
+                          << " paired with " << psuNames[nameIndex] << "\n";
+            }
+
             checkEventLimits(sensorPathStr, limitEventMatch, eventPathList);
 
             unsigned int factor =
