diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index 13f9673..60341c9 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -329,9 +329,9 @@
 	} while ((s = tcpconnect(name)) < 0);
 
 	if (s >= maxfd)
-		fatal("conalloc: fdno %d too high\n", s);
+		fatal("conalloc: fdno %d too high", s);
 	if (fdcon[s].c_status)
-		fatal("conalloc: attempt to reuse fdno %d\n", s);
+		fatal("conalloc: attempt to reuse fdno %d", s);
 
 	fdcon[s].c_fd = s;
 	fdcon[s].c_status = CS_CON;
@@ -355,7 +355,7 @@
 {
 	close(s);
 	if (s >= maxfd || fdcon[s].c_status == CS_UNUSED)
-		fatal("confree: attempt to free bad fdno %d\n", s);
+		fatal("confree: attempt to free bad fdno %d", s);
 	free(fdcon[s].c_namebase);
 	free(fdcon[s].c_output_name);
 	if (fdcon[s].c_status == CS_KEYS)
@@ -455,7 +455,7 @@
 			return;
 			break;
 		default:
-			fatal("conread: invalid status %d\n", c->c_status);
+			fatal("conread: invalid status %d", c->c_status);
 			break;
 		}
 
@@ -548,7 +548,7 @@
 static void
 usage(void)
 {
-	fatal("usage: %s [-t timeout] { [--] host | -f file } ...\n", __progname);
+	fatal("usage: %s [-t timeout] { [--] host | -f file } ...", __progname);
 	return;
 }
 
@@ -580,11 +580,11 @@
 
 	maxfd = fdlim_get(1);
 	if (maxfd < 0)
-		fatal("%s: fdlim_get: bad value\n", __progname);
+		fatal("%s: fdlim_get: bad value", __progname);
 	if (maxfd > MAXMAXFD)
 		maxfd = MAXMAXFD;
 	if (maxcon <= 0)
-		fatal("%s: not enough file descriptors\n", __progname);
+		fatal("%s: not enough file descriptors", __progname);
 	if (maxfd > fdlim_get(0))
 		fdlim_set(maxfd);
 	fdcon = xmalloc(maxfd * sizeof(con));
