--- nut/clients/upsmon.c
+++ nut/clients/upsmon.c
@@ -1433,5 +1433,4 @@ static int try_connect(utype_t *ups)
 	if (ret < 0) {
-		upslogx(LOG_ERR, "UPS [%s]: connect failed: %s",
+		upsdebugx(1, "UPS [%s]: connect failed: %s",
 			ups->sys, upscli_strerror(&ups->conn));
-
 		ups_is_gone(ups);
@@ -1548,4 +1547,10 @@ static void pollups(utype_t *ups)
 			ups->sys, ups->upsname,	ups->hostname);
-
 			break;
+
+		case UPSCLI_ERR_DRVNOTCONN:
+			/* Current state is not "connected (=1)"; DRVNOTCONN is expected */
+			if ( ups->commstate != 1 )
+				break;
+			/* Otherwise, DRVNOTCONN is not expected; log an error */
+
 		default:
