diff --git a/svr-runopts.c b/svr-runopts.c
index 8380de31de38c26e5d346414650a4fdaee4539df..13608131a99996318eb6073349c871a1cc09ac9c 100644
--- a/svr-runopts.c
+++ b/svr-runopts.c
@@ -410,7 +410,9 @@ static void loadhostkey(const char *keyfile, int fatal_duplicate) {
 	sign_key * read_key = new_sign_key();
 	enum signkey_type type = DROPBEAR_SIGNKEY_ANY;
 	if (readhostkey(keyfile, read_key, &type) == DROPBEAR_FAILURE) {
-		dropbear_log(LOG_WARNING, "Failed loading %s", keyfile);
+		if (!svr_opts.delay_hostkey) {
+			dropbear_log(LOG_WARNING, "Failed loading %s", keyfile);
+		}
 	}
 
 #ifdef DROPBEAR_RSA