diff --git a/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift b/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
index a12a12277224..c907d3d981b5 100644
--- a/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
+++ b/ios/PacketTunnel/WireGuardAdapter/WgAdapter.swift
@@ -32,7 +32,8 @@ struct WgAdapter: TunnelAdapterProtocol {
     func start(configuration: TunnelAdapterConfiguration) async throws {
         let wgConfig = configuration.asWgConfig
         do {
-            try await adapter.update(tunnelConfiguration: wgConfig)
+            try await adapter.stop()
+            try await adapter.start(tunnelConfiguration: wgConfig)
         } catch WireGuardAdapterError.invalidState {
             try await adapter.start(tunnelConfiguration: wgConfig)
         }