  	(void) unlink(path);
  
  	memset(&sunx, 0, sizeof(sunx));
-@@ -2254,7 +2311,12 @@ void die(sig)
+@@ -2254,9 +2312,11 @@
  	if (InetInuse) close(inetm);
  
  	/* Clean-up files. */
 -        for (i = 0; i < nfunix; i++)
+-		if (funixn[i] && funix[i] != -1)
+-			(void)unlink(funixn[i]);
 +	i = 0;
 +#if defined(__linux__)
 +	if (sd_listen_fds(0) > 0)
 +		i = 1;
 +#endif
-+	for (; i < nfunix; i++)
- 		if (funixn[i] && funix[i] != -1)
- 			(void)unlink(funixn[i]);
  #ifndef TESTING
+ 	(void) remove_pid(PidFile);
+ #endif

Based on http://ftp.free.org/mirrors/rsync.frugalware.org/frugalware-testing/source/apps-extra/sysklogd/sysklogd-1.5-systemd.diff

diff --git a/Makefile b/Makefile
index 9a114b8..aef1fd6 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@
 CC= gcc
 #SKFLAGS= -g -DSYSV -Wall

+#endif
+
+#endif
diff -ruN -x '*~' sysklogd-1.5-old/syslogd.c sysklogd-1.5/syslogd.c
--- sysklogd-1.5-old/syslogd.c	2007-07-04 21:04:01.000000000 +0200
+++ sysklogd-1.5/syslogd.c	2013-05-09 16:04:32.106602589 +0200
@@ -551,6 +551,7 @@
 
 #if defined(__linux__)
 #include <paths.h>
