diff --git a/src/backend/libpq/pqcomprim.c b/src/backend/libpq/pqcomprim.c
index d10be39d81706ca9872368da1adc591505fbe5ef..00177da4416eccdb8034ec887a5753ab02df858f 100644
--- a/src/backend/libpq/pqcomprim.c
+++ b/src/backend/libpq/pqcomprim.c
@@ -28,7 +28,7 @@
 #    define ntoh_l(n) (u_long)(((u_char *)&n)[0] << 24 | \
 							((u_char *)&n)[1] << 16 | \
       	             	   ((u_char *)&n)[2] << 8 | ((u_char *)&n)[3])
-#    define hton_s(n) (ntoh_s(n))
+#    define hton_s(n) (u_short)(((u_char *) &n)[2] << 8 | ((u_char *) &n)[3])
 #    define hton_l(n) (ntoh_l(n))
 #  else	/* BYTE_ORDER != BIG_ENDIAN */
 #    if BYTE_ORDER == PDP_ENDIAN