host_item->set_port( static_cast<uint16_t>(host_port) );
             ++hosts_list_iterator;
 
-            GlobalLogger.info() <<  get_command_string() << "=" << host_port << endl;
+            GlobalLogger.info() << get_command_string() << "=" << host_port << endl;
         }
 
         parsed_success = true;
 
         PingSchedulerList *scheduler_list
 )
 {
-    string local_interface = configuration->get_source_network_interface();
+    string default_network_interface = configuration->get_source_network_interface();
     string nameserver = configuration->get_nameserver();
     int ping_fail_limit = configuration->get_ping_fail_limit();
 
     {
         string destination_address = host->get_address();
         uint16_t destination_port = host->get_port();
-        if ( local_interface.empty() )
-        {
-            local_interface = host->get_source_network_interface();
-        }
+        string host_network_interface = host->get_source_network_interface();
+        string network_interface = ( default_network_interface.empty() ) ?
+                host_network_interface :
+                default_network_interface;
         PingProtocol protocol = host->get_ping_protocol();
         int ping_interval_in_sec = host->get_interval_in_sec();
         PingSchedulerItem scheduler(
                 new PingScheduler(
-                        local_interface,
+                        network_interface,
                         destination_address,
                         destination_port,
                         protocol,