diff --git a/src/monitor/src/monitor/HostMonitorManager.cc b/src/monitor/src/monitor/HostMonitorManager.cc index b4f18a8b25c..4785e19a744 100644 --- a/src/monitor/src/monitor/HostMonitorManager.cc +++ b/src/monitor/src/monitor/HostMonitorManager.cc @@ -151,8 +151,8 @@ void HostMonitorManager::update_host(int oid, const std::string &xml) { stop_host_monitor(host); } - else if (old_state == Host::OFFLINE || old_state == Host::ERROR || - old_state == Host::INIT) + else if ((old_state == Host::OFFLINE || old_state == Host::ERROR) + && !host->monitor_in_progress()) { start_host_monitor(host); }