anchor.diff:  		if(serverdata['ok'] == 'no') {
   			logmessage('[StreetService] Server refused');
   		} else {
  -			logmessage('[StreetService] "$StreetID" loaded.');
  -			await _prepareStreet(serverdata['streetJSON']);
  +			if (loadingCancelled(StreetID)) {
  +				logmessage('[StreetService] Loading of "$StreetID" was cancelled during download.');
  +			} else {
  +				logmessage('[StreetService] "$StreetID" loaded.');
  +				await _prepareStreet(serverdata['streetJSON']);
   
  -			String playerList = '';
  -			List<String> players = JSON.decode(await HttpRequest.getString('http://' + Configs.utilServerAddress + '/listUsers?channel=' + currentStreet.label));
  -			if (!players.contains(game.username)) {
  -				players.add(game.username);
  -			}
  -			// don't list if it's just you
  -			if(players.length > 0) {
  -				for(int i = 0; i != players.length; i++) {
  -					playerList += players[i];
  -					if(i != players.length) {
  -						playerList += ', ';
  +				String playerList = '';
  +				List<String> players = JSON.decode(await HttpRequest.getString(
  +					'http://' + Configs.utilServerAddress + '/listUsers?channel=' +
  +						currentStreet.label));
  +				if (!players.contains(game.username)) {
  +					players.add(game.username);
  +				}
  +				// don't list if it's just you
  +				if (players.length > 1) {
  +					for (int i = 0; i != players.length; i++) {
  +						playerList += players[i];
  +						if (i != players.length) {
  +							playerList += ', ';
  +						}
   					}
  +					playerList = playerList.substring(0, playerList.length - 2);
  +					toast("Players on this street: " + playerList);
  +				} else {
  +					toast("You're the first one here!");
   				}
  -				playerList = playerList.substring(0, playerList.length - 2);
  -				toast("Players on this street: " + playerList);
   			}
   		}
  +
  +		_loading.remove(StreetID);
   	}
   
   	Future _prepareStreet(Map streetJSON) async
   	{
   		logmessage('[StreetService] Assembling Street...');
   
  -		if(streetJSON['tsid'] == null)
  +		if(streetJSON['tsid'] == null) {
   			return;
  +		}
   
   		Map<String, dynamic> streetAsMap = streetJSON;
   
  
positive.code: part of couclient;
  
  class StreetService {
  	String _dataUrl = '${Configs.authAddress}/data';
  
  	StreetService() {
  
negative.code: 	}
  
  	Future requestStreet(String StreetID) async {
  		if (_loading.length > 0) {
  			// Already loading something, tell it to stop
  			_loading.clear();
  		}
  
  		// Load this one
  		_loading.add(StreetID);
  
  		//hide the minimap if it's showing
  		minimap.containerE.hidden = true;
  		gpsIndicator.loadingNew = true;
  