 	
 	func tessellation(for regionHash: RegionHash, atLod lod: Int, streamIfMissing: Bool = false) -> GeoTessellation? {
 		let key = regionHashLodKey(regionHash, atLod: lod)
-		if let found = tessellationCache[key] {
+		let found = tessellationCache[key]
+		
+		if found != nil {
 			return found
 		} else if streamIfMissing {
 			streamMissingPrimitive(for: regionHash)

		// Start streaming failed requests from the current frame
		for regionId in frameChunkRequests {
			let chunkName = chunkLodName(regionId, atLod: streamedLodLevel)
			let runtimeLodKey = regionHashLodKey(regionId.hashed, atLod: streamedLodLevel)
			
			pendingChunks.insert(ChunkRequest(regionId, atLod: streamedLodLevel))
			
			streamQueue.async {
				if let tessellation = self.loadGeometry(chunkName) {
					// Create the render primitive and update book-keeping on the main thread
					DispatchQueue.main.async {
						self.tessellationCache[runtimeLodKey] = tessellation
					}
				} else {
					print("No geometry chunk available for \(chunkName)")

		return loadedWorld
	}
	
	func renderPrimitive(for regionHash: RegionHash, streamIfMissing: Bool = false) -> IndexedRenderPrimitive<Vertex>? {
		let actualStreamHash = regionHashLodKey(regionHash, atLod: actualLodLevel)
		let wantedStreamHash = regionHashLodKey(regionHash, atLod: wantedLodLevel)
