diff --git a/protocol/imap/imap.go b/protocol/imap/imap.go
index c4a2f5115d39b26fe42ea7deeb54c84d9a439c49..5209d98d2990af28f6d3f48c4d5981b5003ffb9c 100644
--- a/protocol/imap/imap.go
+++ b/protocol/imap/imap.go
@@ -123,7 +123,7 @@ func (c *Conn) LoginSASL(username, password string) error {
 	enc := base64.StdEncoding.EncodeToString(b)
 
 	return c.cmd(fmt.Sprintf("AUTHENTICATE PLAIN\r\n%s", enc), func(line string) error {
-		if strings.TrimSpace(line) != "+" || !strings.HasPrefix(line, "* ") {
+		if strings.TrimSpace(line) != "+" && !strings.HasPrefix(line, "* ") {
 			return fmt.Errorf("unexpected IMAP auth response: '%s'", line)
 		}
 		return nil