diff -upr xterm-323.orig/main.c xterm-323/main.c
--- xterm-323.orig/main.c	2016-03-09 15:30:51.191053881 +0100
+++ xterm-323/main.c	2016-03-09 15:31:17.961635229 +0100
@@ -2654,7 +2654,7 @@ get_pty(int *pty, char *from GCC_UNUSED)
 	close(opened_tty);
 	opened_tty = -1;
     }
-#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY)
+#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME)
     if ((*pty = posix_openpt(O_RDWR)) >= 0) {
 	char *name = ptsname(*pty);
 	if (name != 0) {
@@ -3735,7 +3735,7 @@ spawnXTerm(XtermWidget xw)
 	    /*
 	     * now in child process
 	     */
-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__)
+#if defined(_POSIX_VERSION) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__)
 	    int pgrp = setsid();	/* variable may not be used... */
 #else
 	    int pgrp = getpid();
