diff --git a/mainloop.cpp b/mainloop.cpp
index a07d558..486a175 100644
--- a/mainloop.cpp
+++ b/mainloop.cpp
@@ -19,6 +19,7 @@
 #include <algorithm>
 
 #include <phosphor-logging/elog-errors.hpp>
+#include "config.h"
 #include "sensorset.hpp"
 #include "hwmon.hpp"
 #include "sysfs.hpp"
@@ -293,7 +294,11 @@
         auto valueInterface = addValue(i.first, _hwmonRoot, _instance, info);
         if (!valueInterface)
         {
+#ifdef REMOVE_ON_FAIL
             continue; /* skip adding this sensor for now. */
+#else
+            exit(EXIT_FAILURE);
+#endif
         }
         auto sensorValue = valueInterface->value();
         addThreshold<WarningObject>(i.first, sensorValue, info);
@@ -347,7 +352,9 @@
     // Polling loop.
     while (!_shutdown)
     {
+#ifdef REMOVE_ON_FAIL
         std::vector<SensorSet::key_type> destroy;
+#endif
         // Iterate through all the sensors.
         for (auto& i : state)
         {
@@ -406,15 +413,21 @@
                     using namespace sdbusplus::xyz::openbmc_project::Sensor::Device::Error;
                     commit<ReadFailure>();
 
+#ifdef REMOVE_ON_FAIL
                     destroy.push_back(i.first);
+#else
+                    exit(EXIT_FAILURE);
+#endif
                 }
             }
         }
 
+#ifdef REMOVE_ON_FAIL
         for (auto& i : destroy)
         {
             state.erase(i);
         }
+#endif
 
         // Respond to DBus
         _bus.process_discard();
