diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c
index 2f32fabcec79c0d2d7853657a692c33fdf86d564..115e559ffcee336ca831a6786043ccd62b283d5a 100644
--- a/lib/vsnprintf.c
+++ b/lib/vsnprintf.c
@@ -910,7 +910,7 @@ static double get_exp_float_val_param(double value, int *exp,
 			e++;
 		}
 
-	} else if (value < 1e-4) {
+	} else if ((value < 1e-4) && (value != 0.0)) {
 		while (value < 1.0) {
 			value *= 10.0;
 			e--;