{
    foreach my $host ($DB->get_all)
    {
	next if defined $host->prop('HostType');

	my %properties;
	$properties{'InternalIP'} = $host->prop('InternalIP') || '';
	$properties{'ExternalIP'} = $host->prop('ExternalIP') || '';
	$properties{'MACAddress'} = $host->prop('MACAddress') || '';

	# If defined as host 'self', change to new format
	if (($properties{'InternalIP'} eq 'self') && 
            ($properties{'ExternalIP'} eq 'self'))
	{
	    $properties{'HostType'} = 'Self';
	    $properties{'InternalIP'} = '';
	    $properties{'ExternalIP'} = '';
	    $properties{'MACAddress'} = '';
	}
        # defined as 'local' entry in new format
	elsif( $properties{InternalIP} ne 'self' )
	{
	    $properties{'HostType'} = 'Local';
            $properties{ExternalIP} = '';
	}
        elsif( $properties{ExternalIP} ne 'self' ) 
        {
            $properties{'HostType'} = 'Remote';
            $properties{InternalIP} = '';
        }
        else {
            warn "$host has no InternalIP or ExternalIP!\n";
        }

	$host->delete_prop('Visibility');
	$host->merge_props(%properties);
    }
}