diff --git a/src/build/Common.gmake b/src/build/Common.gmake
index 2c7d305619783b3ec804bfa36c0b0555d6e71907..38c5ba090d56de9336c4102f60697b881e950178 100644
--- a/src/build/Common.gmake
+++ b/src/build/Common.gmake
@@ -227,6 +227,10 @@ endif
 # OS Specific Flags
 ifeq ($(os),sunos)    # Solaris
  CFLAGS	+= -D__solaris__ -DNEEDS_DAEMON -DNEEDS_FORKPTY -DNEEDS_SETENV -DNEEDS_CFMAKERAW
+ # Solaris 10 provides setenv()
+ ifeq ($(shell if [ `uname -r | sed 's/^..//'` -lt 10 ] ; then echo "Yes" ; else echo "No" ; fi),Yes)
+  CFLAGS += -DNEEDS_SETENV
+ endif
  LDFLAGS	+=	-L/opt/sfw/lib
 endif
 ifeq ($(os),netbsd)	# NetBSD