diff --git a/src/adc_jury_server_alg_node.cpp b/src/adc_jury_server_alg_node.cpp
index 1b4b42fa8c34a52b9dae6bc8d8f6d0fd6eaac6f2..47aa5f43b877251bb48307306fd0f0aca0cabd94 100644
--- a/src/adc_jury_server_alg_node.cpp
+++ b/src/adc_jury_server_alg_node.cpp
@@ -247,10 +247,15 @@ void AdcJuryServerAlgNode::node_config_update(Config &config, uint32_t level)
     }
     
     ROS_INFO("AdcJuryServerAlgNode:: Calling service set_lights_client_!");
-    if (set_lights_client_.call(set_lights_srv_))
-      ROS_INFO("AdcJuryServerAlgNode:: set_lights_client_ received a response from service server");
+    if(set_lights_client_.waitForExistence(ros::Duration(0)))
+    {
+      if (set_lights_client_.call(set_lights_srv_))
+        ROS_INFO("AdcJuryServerAlgNode:: set_lights_client_ received a response from service server");
+      else
+        ROS_ERROR("AdcJuryServerAlgNode:: Failed to call service on topic %s",this->set_lights_client_.getService().c_str());
+    }
     else
-      ROS_ERROR("AdcJuryServerAlgNode:: Failed to call service on topic %s",this->set_lights_client_.getService().c_str());
+      ROS_ERROR("AdcJuryServerAlgNode:: Service not connected");
   }
  
   this->config_=config;