diff --git a/main/manager.c b/main/manager.c
index 88dba48ee11998e4c84a012813aca6e5eca52f93..8b0381e618b9b692a69cc7bbe21ef11057813e54 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -984,7 +984,8 @@ static int authenticate(struct mansession *s, const struct message *m)
 	}
 	if (!strcasecmp(astman_get_header(m, "AuthType"), "MD5")) {
 		const char *key = astman_get_header(m, "Key");
-		if (!ast_strlen_zero(key) && !ast_strlen_zero(s->challenge)) {
+		if (!ast_strlen_zero(key) && !ast_strlen_zero(s->challenge) &&
+		    !ast_strlen_zero(password)) {
 			int x;
 			int len = 0;
 			char md5key[256] = "";