diff --git a/Changelog b/Changelog
index 9021211..3095c95 100644
--- a/Changelog
+++ b/Changelog
@@ -45,6 +45,7 @@
 	* Mark Whitley -- remix of xargs
 	* Jim Gleason <jimg@lineo.com> -- fixed tar so it no longer breaks 
 	    hard links.
+	* Matt Kraai -- logger now logs all arguments, not just the first
 
 
 	 -Erik Andersen
diff --git a/logger.c b/logger.c
index 1ed6dc6..1c454e5 100644
--- a/logger.c
+++ b/logger.c
@@ -149,10 +149,19 @@
 		}
 		message = buf;
 	} else {
-		if (argc >= 1)
-			message = *argv;
-		else
+		if (argc >= 1) {
+			int len = 1; /* for the '\0' */
+			for (; *argv != NULL; argv++) {
+				len += strlen(*argv);
+				len += 1;  /* for the space between the args */
+				message = xrealloc(message, len);
+				strcat(message, *argv);
+				strcat(message, " ");
+			}
+			message[strlen(message)-1] = '\0';
+		} else {
 			error_msg_and_die("No message\n");
+		}
 	}
 
 	openlog(name, option, (pri | LOG_FACMASK));
diff --git a/sysklogd/logger.c b/sysklogd/logger.c
index 1ed6dc6..1c454e5 100644
--- a/sysklogd/logger.c
+++ b/sysklogd/logger.c
@@ -149,10 +149,19 @@
 		}
 		message = buf;
 	} else {
-		if (argc >= 1)
-			message = *argv;
-		else
+		if (argc >= 1) {
+			int len = 1; /* for the '\0' */
+			for (; *argv != NULL; argv++) {
+				len += strlen(*argv);
+				len += 1;  /* for the space between the args */
+				message = xrealloc(message, len);
+				strcat(message, *argv);
+				strcat(message, " ");
+			}
+			message[strlen(message)-1] = '\0';
+		} else {
 			error_msg_and_die("No message\n");
+		}
 	}
 
 	openlog(name, option, (pri | LOG_FACMASK));
