diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index 76a597e56f..17f1e4d353 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -3109,7 +3109,7 @@ numeric_power(PG_FUNCTION_ARGS)
 		{
 			init_var_from_num(num2, &arg2);
 			if (cmp_var(&arg2, &const_zero) == 0)
-				PG_RETURN_NUMERIC(make_result(&const_one));
+				PG_RETURN_NUMERIC(make_result(&const_zero));
 		}
 		PG_RETURN_NUMERIC(make_result(&const_nan));
 	}