                     "Netx reporting connected, but could not get status info".cause(err)
                 )
                 self.writeNetxState.send(NetworkStatus.disconnected())
+                self.manager = Atomic(nil) // Re-load the manager (maybe VPN profile removed)
                 throw err
             }
             .eraseToAnyPublisher()

    private var netxStateObserver = Atomic<NSObjectProtocol?>(nil)
    private var cancellables = Set<AnyCancellable>()
    private let bgQueue = DispatchQueue(label: "NetxServiceBgQueue")

    init() {
        onQueryNetxState()

                        self.writePerms.send(true)
                        // According to Apple docs we need to call loadFromPreferences at least once
                        let manager = managers![0]
                        Logger.w("NetxService", "getManager: before second load")
                        manager.loadFromPreferences { error in
                            Logger.w("NetxService", "getManager: second load callback rec")
                            if let error = error {
                                return promise(
                                    .failure("getManager: loadFromPreferences".cause(error))
