BOOST_ASSERT( !nameserver.empty() );
     BOOST_ASSERT( 0 < protocol_list.size() );
 
-    update_ping_protocol();
+    init_ping_protocol();
 }
 
 /**
     PingDoneCallback( ping_success );
 }
 
+void PingRotate::init_ping_protocol()
+{
+    get_next_ping_protocol();
+}
+
 void PingRotate::update_ping_protocol()
 {
     if ( can_change_ping_protocol() )
 
     void set_ping_done_callback( boost::function<void(bool)> ping_done_callback );
     void ping_done_handler( bool ping_success );
 
+    void init_ping_protocol();
     void update_ping_protocol();
     void get_next_ping_protocol();
     bool can_change_ping_protocol() const;