diff --git a/tests/.gitignore b/tests/.gitignore
index 3ef4062..8bcede0 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -142,6 +142,7 @@
 sendfile
 sendfile64
 set_ptracer_any
+setfsuid
 setgid
 setgid32
 sethostname
diff --git a/tests/Makefile.am b/tests/Makefile.am
index cf2027a..eb91ab3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -192,6 +192,7 @@
 	sendfile \
 	sendfile64 \
 	set_ptracer_any \
+	setfsuid \
 	setgid \
 	setgid32 \
 	sethostname \
@@ -411,6 +412,7 @@
 	semop.test \
 	sendfile.test \
 	sendfile64.test \
+	setfsuid.test \
 	setgid.test \
 	setgid32.test \
 	sethostname.test \
@@ -530,6 +532,7 @@
 	     pipe.expected \
 	     ppoll.expected \
 	     ppoll-v.expected \
+	     setfsugid.c \
 	     setreugid.c \
 	     setresugid.c \
 	     setugid.c \
diff --git a/tests/setfsugid.c b/tests/setfsugid.c
new file mode 100644
index 0000000..5b8f4fd
--- /dev/null
+++ b/tests/setfsugid.c
@@ -0,0 +1,65 @@
+/*
+ * Check decoding of setfsuid/setfsgid/setfsuid32/setfsgid32 syscalls.
+ *
+ * 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 <stdio.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+	unsigned int ugid = GETUGID;
+
+	const long tests[] = {
+		ugid,
+		0xffff0000U | ugid,
+		(unsigned long) 0xffffffff00000000ULL | ugid,
+		0xffffU,
+		-1U,
+		-1L,
+		0xc0deffffU,
+		0xfacefeedU,
+		(long) 0xfacefeeddeadbeefULL
+	};
+
+	unsigned int i;
+
+	for (i = 0; i < ARRAY_SIZE(tests); ++i) {
+		const unsigned int num = (unsigned UGID_TYPE) tests[i];
+		unsigned int rc;
+
+		rc = syscall(SYSCALL_NR, tests[i]);
+		printf("%s(%u) = %u\n", SYSCALL_NAME, num, rc);
+
+		rc = syscall(SYSCALL_NR, ugid);
+		printf("%s(%u) = %u\n", SYSCALL_NAME, ugid, rc);
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/setfsuid.c b/tests/setfsuid.c
new file mode 100644
index 0000000..7c77f50
--- /dev/null
+++ b/tests/setfsuid.c
@@ -0,0 +1,23 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_setfsuid
+
+# define SYSCALL_NR	__NR_setfsuid
+# define SYSCALL_NAME	"setfsuid"
+
+# if defined __NR_setfsuid32 && __NR_setfsuid != __NR_setfsuid32
+#  define UGID_TYPE	short
+#  define GETUGID	syscall(__NR_geteuid)
+# else
+#  define UGID_TYPE	int
+#  define GETUGID	geteuid()
+# endif
+
+# include "setfsugid.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setfsuid")
+
+#endif
diff --git a/tests/setfsuid.test b/tests/setfsuid.test
new file mode 100755
index 0000000..18a1021
--- /dev/null
+++ b/tests/setfsuid.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check setfsuid syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
