diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index 128f147debd342b9f440d3cc9e54ebb7b360a8d0..7651da166edb1da94cd55b6c00c0cb2567054270 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.139 2007/01/03 22:05:00 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.140 2007/01/04 05:18:39 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1453,7 +1453,8 @@ dpow(PG_FUNCTION_ARGS)
 	if (errno == EDOM && isnan(result))
 	{
 		if ((fabs(arg1) > 1 && arg2 >= 0) || (fabs(arg1) < 1 && arg2 < 0))
-			result = (arg1 >= 0) ? get_float8_infinity() : -get_float8_infinity();
+			/* The sign if Inf is not significant in this case. */
+			result = get_float8_infinity();
 		else if (fabs(arg1) != 1)
 			result = 0;
 		else