diff --git a/Code/BasicFilters/otbEuclideanDistanceWithMissingValuePow2.txx b/Code/BasicFilters/otbEuclideanDistanceWithMissingValuePow2.txx
index 16a57e83843af2f6e508be563d56946706fcac04..38fb206feab179df3a888efacdb5412058127918 100644
--- a/Code/BasicFilters/otbEuclideanDistanceWithMissingValuePow2.txx
+++ b/Code/BasicFilters/otbEuclideanDistanceWithMissingValuePow2.txx
@@ -108,8 +108,7 @@ void
 EuclideanDistanceWithMissingValuePow2< TVector >
 ::SetToMissingValue ( ValueType & v )
 {
-  static double zero;
-  v = static_cast<ValueType>( 0.0/zero );
+	v = std::numeric_limits<ValueType>::signaling_NaN();
 }