diff --git a/src/message.c b/src/message.c
index 0d10431..2824b5b 100644
--- a/src/message.c
+++ b/src/message.c
@@ -4701,6 +4701,7 @@
 		    char	format[40];
 		    int		l;
 		    int		remove_trailing_zeroes = FALSE;
+		    char	*s;
 
 		    f =
 #  if defined(FEAT_EVAL)
@@ -4730,8 +4731,16 @@
 			    )
 		    {
 			/* Avoid a buffer overflow */
-			strcpy(tmp, "inf");
-			str_arg_l = 3;
+			if (f < 0)
+			{
+			    strcpy(tmp, "-inf");
+			    str_arg_l = 4;
+			}
+			else
+			{
+			    strcpy(tmp, "inf");
+			    str_arg_l = 3;
+			}
 		    }
 		    else
 		    {
@@ -4753,6 +4762,22 @@
 			format[l + 1] = NUL;
 			str_arg_l = sprintf(tmp, format, f);
 
+			/* Be consistent: Change "1.#IND" to "nan" and
+			 * "1.#INF" to "inf". */
+			s = *tmp == '-' ? tmp + 1 : tmp;
+			if (STRNCMP(s, "1.#INF", 6) == 0)
+			    STRCPY(s, "inf");
+			else if (STRNCMP(s, "1.#IND", 6) == 0)
+			    STRCPY(s, "nan");
+
+			/* Remove sign before "nan". */
+			if (STRNCMP(tmp, "-nan", 4) == 0)
+			    STRCPY(tmp, "nan");
+
+			/* Add sign before "inf" if needed. */
+			if (isinf(f) == -1 && STRNCMP(tmp, "inf", 3) == 0)
+			    STRCPY(tmp, "-inf");
+
 			if (remove_trailing_zeroes)
 			{
 			    int i;
