 			scheduledCollectionTime += interval
 		} while scheduledCollectionTime < city.events.stopTime
 
+		// Schedule an init-stage event to set up the statistics module
+		let statisticsSetupEvent = SimulationEvent(time: 0, type: .Statistics, action: {city.stats.initialSetup(onCity: city)}, description: "initialStatsSetup")
+		city.events.add(initialEvent: statisticsSetupEvent)
+
 		// Schedule a cleanup-stage event to collect final statistics
 		let finalCollectionEvent = SimulationEvent(time: 0, type: .Statistics, action: {city.stats.finalCollection(onCity: city)}, description: "finalCollectStats")
 		city.events.add(cleanupEvent: finalCollectionEvent)

	}



	/// Final statistics collection routine
	func finalCollection(onCity city: City) {

	// Data separator (e.g. ',' or ';' for CSV (comma not recommended in Europe, prefer semicolon), '\t' for TSV
	let separator = "\t"

	// A map showing open and blocked cells
	// Can be generated with config->tools->buildObstructionMask=true
	var obstructionMask: CellMap<Character>?

	init(config: NSDictionary) {
