--- a/testcases/open_posix_testsuite/conformance/interfaces/sigaction/templates/template_16-1.in	2010-10-14 03:58:31.000000000 +0900
+++ b/testcases/open_posix_testsuite/conformance/interfaces/sigaction/templates/template_16-1.new	2010-10-18 17:47:40.000000000 +0900
@@ -55,6 +55,8 @@
 #include <signal.h>
 #include <errno.h>
 
+#include <sys/utsname.h>
+
 /******************************************************************************/
 /***************************   Test framework   *******************************/
 /******************************************************************************/
@@ -124,6 +126,23 @@
 	return NULL;
 }
 
+/* Checking for Kernel Version function */
+int kernel_ver_cmp(int k1, int k2, int k3)
+{
+	struct utsname buf;
+	int r1, r2, r3;
+
+	uname(&buf);
+	sscanf(buf.release, "%d.%d.%d", &r1, &r2, &r3);
+	if (r1 > k1)
+		return 0;
+	if (r2 > k2)
+		return 0;
+	if (r3 > k3)
+		return 0;
+	return 1;
+}
+
 /* main function */
 int main()
 {
@@ -133,6 +152,12 @@
 
 	struct sigaction sa;
 
+	/* Checking for Kernel Version */
+	if ( kernel_ver_cmp(2, 6, 21) != 0 )
+	{
+		UNTESTED( "sem_wait() returned EINTR on kernel versions lower than 2.6.22" );
+	}
+
 	/* Initialize output */
 	output_init();
 
