diff --git a/dbutil.c b/dbutil.c
index d87835b5b0ab5cb7d8a31ebc0733c66973582134..7c7c0690ba12935d5190f41260314c54eddc8d7f 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -84,9 +84,9 @@ int debug_trace = 0;
 #endif
 
 #ifndef DISABLE_SYSLOG
-void startsyslog() {
+void startsyslog(const char *ident) {
 
-	openlog(PROGNAME, LOG_PID, LOG_AUTHPRIV);
+	openlog(ident, LOG_PID, LOG_AUTHPRIV);
 
 }
 #endif /* DISABLE_SYSLOG */
diff --git a/dbutil.h b/dbutil.h
index e1db32801febd396a6acdb7f41737a9ecff6742e..098563d62d59a2032090f4db160845bf0ae681b5 100644
--- a/dbutil.h
+++ b/dbutil.h
@@ -31,7 +31,7 @@
 #include "queue.h"
 
 #ifndef DISABLE_SYSLOG
-void startsyslog();
+void startsyslog(const char *ident);
 #endif
 
 #ifdef __GNUC__
diff --git a/svr-main.c b/svr-main.c
index 8bd1a78d50ccc99448b437635cadd47faf127930..af56a7c418e71f861f89878cee06ff94849a0898 100644
--- a/svr-main.c
+++ b/svr-main.c
@@ -367,8 +367,8 @@ static void commonsetup() {
 
 	struct sigaction sa_chld;
 #ifndef DISABLE_SYSLOG
-		startsyslog();
 	if (opts.usingsyslog) {
+		startsyslog(PROGNAME);
 	}
 #endif