diff --git a/tests/.gitignore b/tests/.gitignore
index b7da7dd..1cee1f8 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -127,4 +127,5 @@
 xattr
 xet_robust_list
 xetitimer
+xetpgid
 xettimeofday
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 81974e3..b36362a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -175,6 +175,7 @@
 	xattr \
 	xet_robust_list \
 	xetitimer \
+	xetpgid \
 	xettimeofday \
 	# end of check_PROGRAMS
 
@@ -320,6 +321,7 @@
 	xattr.test \
 	xet_robust_list.test \
 	xetitimer.test \
+	xetpgid.test \
 	xettimeofday.test \
 	\
 	count.test \
diff --git a/tests/xetpgid.c b/tests/xetpgid.c
new file mode 100644
index 0000000..f6bf640
--- /dev/null
+++ b/tests/xetpgid.c
@@ -0,0 +1,60 @@
+/*
+ * This file is part of xetpgid strace test.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <sys/syscall.h>
+
+#if defined __NR_getpgid && defined __NR_setpgid
+
+# include <assert.h>
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	const int pid = getpid();
+	int rc = syscall(__NR_getpgid,
+			 (unsigned long) 0xffffffff00000000 | pid);
+	printf("getpgid(%d) = %d\n", pid, rc);
+
+	rc = syscall(__NR_setpgid,
+		     (unsigned long) 0xffffffff00000000,
+		     (unsigned long) 0xffffffff00000000 | pid);
+	printf("setpgid(0, %d) = %d\n", pid, rc);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getpgid && __NR_setpgid")
+
+#endif
diff --git a/tests/xetpgid.test b/tests/xetpgid.test
new file mode 100755
index 0000000..cdfec11
--- /dev/null
+++ b/tests/xetpgid.test
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check getpgid and setpgid syscalls decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+OUT="$LOG.out"
+run_strace -a11 -egetpgid,setpgid $args > "$OUT"
+match_diff "$LOG" "$OUT"
+rm -f "$OUT"
