diff --git a/pid/fancontroller.cpp b/pid/fancontroller.cpp
index 41f24da..d3c58ca 100644
--- a/pid/fancontroller.cpp
+++ b/pid/fancontroller.cpp
@@ -21,6 +21,7 @@
 #include "zone.hpp"
 
 #include <algorithm>
+#include <cmath>
 #include <iostream>
 
 namespace pid_control
@@ -62,10 +63,16 @@
              * sort of have to guess -- all the other fans are reporting, why
              * not this one?  Maybe it's unable to be read, so it's "bad."
              */
-            if (value > 0)
+            if (!(std::isfinite(value)))
             {
-                values.push_back(value);
+                continue;
             }
+            if (value <= 0)
+            {
+                continue;
+            }
+
+            values.push_back(value);
         }
     }
     catch (const std::exception& e)
diff --git a/pid/thermalcontroller.cpp b/pid/thermalcontroller.cpp
index 35dcd15..8125349 100644
--- a/pid/thermalcontroller.cpp
+++ b/pid/thermalcontroller.cpp
@@ -21,6 +21,8 @@
 #include "zone.hpp"
 
 #include <algorithm>
+#include <cmath>
+#include <iostream>
 
 namespace pid_control
 {
@@ -75,9 +77,25 @@
         compare = std::max<double>;
     }
 
+    bool acceptable = false;
     for (const auto& in : _inputs)
     {
-        value = compare(value, _owner->getCachedValue(in));
+        double cachedValue = _owner->getCachedValue(in);
+
+        // Less than 0 is perfectly OK for temperature, but must not be NAN
+        if (!(std::isfinite(cachedValue)))
+        {
+            continue;
+        }
+
+        value = compare(value, cachedValue);
+        acceptable = true;
+    }
+
+    if (!acceptable)
+    {
+        // While not optimal, zero is better than garbage
+        value = 0;
     }
 
     return value;
