 				case .open(let wspace):
 					self.openLocalSession(for: wspace.identifier)
 				case .remove(let wspace):
-					let client = Rc2RestClient(self.connectionManager.localConnection!)
+					let client = Rc2RestClient(self.connectionManager.currentConnection!)
 					client.remove(workspace: wspace).observe(on: UIScheduler()).startWithResult { result in
 						if let err = result.error {
 							self.appStatus?.presentError(err, session: nil)

			Log.warn("already opening \(ident)", .app)
			return
		}
		guard let conInfo = connectionManager.localConnection,
			let wspace = conInfo.workspace(withIdentifier: ident)
		else {
			Log.warn("failed to find workspace \(ident) that we're supposed to open", .app)

			controller.window?.orderFront(self)
			return
		}
		guard let conInfo = connectionManager.currentConnection
			else { Log.warn("asked to open session without connection info"); return }
		let session = Session(connectionInfo: conInfo, workspace: workspace)
		session.open().observe(on: UIScheduler()).take(during: session.lifetime).start
