diff --git a/server/core/monitor.c b/server/core/monitor.c index 7f229c2bd..b74104aa3 100644 --- a/server/core/monitor.c +++ b/server/core/monitor.c @@ -823,7 +823,9 @@ mon_status_changed(MONITOR_SERVERS* mon_srv) { /* Previous status is -1 if not yet set */ return (mon_srv->mon_prev_status != -1 - && mon_srv->mon_prev_status != mon_srv->server->status); + && mon_srv->mon_prev_status != mon_srv->server->status + /** If the server is going into maintenance or coming out of it, don't trigger a state change */ + && ((mon_srv->mon_prev_status | mon_srv->server->status) & SERVER_MAINT) == 0); } /**