diff --git a/lib/ssh.c b/lib/ssh.c
index 214c16098e3a50de375473a67b784beb75eef2c9..28fe1ffe7d0b09b18a34b8ac0a43df9e5806dcac 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -451,6 +451,8 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
       if ((data->set.ssh_auth_types & CURLSSH_AUTH_HOST) &&
           (strstr(sshc->authlist, "hostbased") != NULL)) {
         state(conn, SSH_AUTH_HOST);
+      } else {
+        state(conn, SSH_AUTH_KEY_INIT);
       }
       break;