diff --git a/package/empty/0002-fix-non-thread-build.patch b/package/empty/0002-fix-non-thread-build.patch
new file mode 100644
index 0000000000..a7e8d90a21
--- /dev/null
+++ b/package/empty/0002-fix-non-thread-build.patch
@@ -0,0 +1,49 @@
+empty uses SysV semaphores, so the ifdef is wrong here.
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+--- empty-0.6.19b.orig/empty.c	2012-09-19 13:24:05.000000000 +0200
++++ empty-0.6.19b/empty.c	2015-07-09 02:00:09.000000000 +0200
+@@ -179,25 +179,23 @@ int main (int argc, char *argv[]) {
+ 					   2 - unknown */
+ 	
+ /* semaphores */
+-#ifdef _POSIX_SEMAPHORES
+-	#if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+-		/* union semun is defined by including <sys/sem.h> */
+-	#else
+-		union semun {
+-			int val;
+-			struct semid_ds *buf;
+-		#ifdef __SVR4
+-			ushort_t	*array;
+-		#endif
+-		#ifdef __hpux__
+-			ushort		*array;
+-		#endif
+-		#ifdef __linux__
+-			unsigned short *array;
+-			struct seminfo *__buf;		/* buffer for IPC_INFO */
+-		#endif
+-		};
+-  	#endif
++#if defined(__linux__) && defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
++	/* union semun is defined by including <sys/sem.h> */
++#else
++	union semun {
++		int val;
++		struct semid_ds *buf;
++	#ifdef __SVR4
++		ushort_t	*array;
++	#endif
++	#ifdef __hpux__
++		ushort		*array;
++	#endif
++	#ifdef __linux__
++		unsigned short *array;
++		struct seminfo *__buf;		/* buffer for IPC_INFO */
++	#endif
++	};
+ #endif
+ 	union semun semu;
+