diff --git a/ChangeLog b/ChangeLog
index b3a259a..b3ed252 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,9 @@
    - markus@cvs.openbsd.org 2001/03/29 21:17:40
      [dh.c dh.h kex.c kex.h]
      prepare for rekeying: move DH code to dh.c
+   - djm@cvs.openbsd.org 2001/03/29 23:42:01
+     [sshd.c]
+     Protocol 1 key regeneration log => verbose, some KNF; ok markus@
 
 20010329
  - OpenBSD CVS Sync
@@ -4789,4 +4792,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.1041 2001/03/30 00:50:10 djm Exp $
+$Id: ChangeLog,v 1.1042 2001/03/30 00:50:32 djm Exp $
diff --git a/sshd.c b/sshd.c
index d35403f..b5e2d0f 100644
--- a/sshd.c
+++ b/sshd.c
@@ -40,7 +40,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshd.c,v 1.184 2001/03/29 21:06:21 stevesk Exp $");
+RCSID("$OpenBSD: sshd.c,v 1.185 2001/03/29 23:42:01 djm Exp $");
 
 #include <openssl/dh.h>
 #include <openssl/bn.h>
@@ -278,12 +278,13 @@
 	u_int32_t rand = 0;
 	int i;
 
-	log("Generating %s%d bit RSA key.", sensitive_data.server_key ? "new " : "",
-	    options.server_key_bits);
+	verbose("Generating %s%d bit RSA key.", 
+	    sensitive_data.server_key ? "new " : "", options.server_key_bits);
 	if (sensitive_data.server_key != NULL)
 		key_free(sensitive_data.server_key);
-	sensitive_data.server_key = key_generate(KEY_RSA1, options.server_key_bits);
-	log("RSA key generation complete.");
+	sensitive_data.server_key = key_generate(KEY_RSA1, 
+	    options.server_key_bits);
+	verbose("RSA key generation complete.");
 
 	for (i = 0; i < SSH_SESSION_KEY_LENGTH; i++) {
 		if (i % 4 == 0)
