diff --git a/Numeric/MetricBasis.h b/Numeric/MetricBasis.h
index 4b2bb9d861bd9c3dcb7c80da5b1a251e33a27907..f1cf8e061caa22b7e18c4c471520954738d2bcd9 100644
--- a/Numeric/MetricBasis.h
+++ b/Numeric/MetricBasis.h
@@ -115,7 +115,7 @@ private:
   }
   bool _chknumber(double val) const {
 #if defined(_MSC_VER)
-    return _isnan(val) || _isinf(val);
+    return _isnan(val) || !_finite(val);
 #else
     return std::isnan(val) || std::isinf(val);
 #endif