diff --git a/auth2.c b/auth2.c
index d9b440a..ec0bf12 100644
--- a/auth2.c
+++ b/auth2.c
@@ -355,8 +355,9 @@ userauth_finish(Authctxt *authctxt, int authenticated, const char *method,
authctxt->success = 1;
} else {
- /* Allow initial try of "none" auth without failure penalty */
- if (!authctxt->server_caused_failure &&
+ /* Allow initial try of "none" auth without failure penalty
+ * Partial succes is not failure */
+ if (!authctxt->server_caused_failure && !partial &&
(authctxt->attempt > 1 || strcmp(method, "none") != 0))
authctxt->failures++;
if (authctxt->failures >= options.max_authtries) {